For almost 9 months now CodeIgniter has remained fairly static, seeing only a minor revision or two, but after an excellent catch on the CodeIgniter Forums, news comes from Derek Allard that version 1.6.0 is approaching completion!
Despite this new milestone release, the wise folks over at EllisLabs have decided to continue support for PHP4.
There’s been many great debates on this decision, but Derek Allard sums up the decision in a rather wonderful blog post… which could make even the hardcore PHP5 lover understand why there is still the need for PHP4 support.
CodeIgniter is about getting things done in the real world of deadlines, shared hosts, crazy clients and uncontrolled environments. When that means PHP 5, then I assure you that CI will drop PHP 4 support, and adopt full PHP 5, or 6 or 7 as is warranted.
- Derek Allard
What’s going to change then?
Well, 1.6.0 sees plenty of new exciting active record functionality, which is great!
Added DBForge to the database tools.
Moved create_database() and drop_database() into DBForge.
Added add_field(), add_key(), create_table(), drop_table(), add_column(), drop_column(), modify_column() into DBForge.
Added ‘random’ as an order_by() option , and removed “rand()” as a listed option as it was MySQL only.
Added protect_identifiers() in Active Record.
All AR queries are backticked if appropriate to the database.
Added where_in(), where_in_or(), where_not_in(), where_not_in_or(), not_like() and or_not_like() to Active Record.
Added support for limit() into update() and delete() statements in Active Record.
Added empty_table() and truncate_table() to Active Record.
Added the ability to pass an array of tables to the delete() statement in Active Record.
Added count_all_results() function to Active Record.
Added select_max(), select_min(), select_avg() and select_sum() to Active Record.
Added the ability to use aliases with joins in Active Record. - Thank God!!Added a third parameter to Active Records like() clause to control where the wildcard goes.
Added a third parameter to set() in Active Record that withholds escaping data.
Added a check for NULL fields in the MySQL database backup utility.
This new functionality will really help us push what we can do with CodeIgniter and prevent us having to write SQL for the more ‘complex’ queries.
As well as the ability to autoload models, 1.6.0 will also give us flashdata!
The other big news that’s kicking around is that scaffolding might become depreciated in 1.6.0
So, there’s something to chew on for the next few weeks.
Check out the SVN repo and have a blast at using some of the new features.
Related posts: