Upgrading to CodeIgniter 2.0
As soon as I saw the tweet from EllisLab that CodeIgniter 2.0-dev was available on BitBucket I instantly converted PyroCMS to run on it. I got it all working in a few hours after LOTS of headbanging, mouse throwing and blaspheming. All the bugs I found along the way have since been fixed in the 2.0 branch by the Ellis developers or myself.
While this does not mean everything is running perfectly, at the time of writing all the worrying bugs are squashed so it should be safe for us to have a play.
Grab those new files
Download the new files from BitBucket.
What goes where
Slight change in the folder structure for some of you, the application/ folder and the system/ folder now sit next to each other.
So move your application folder up one level to sit next to system/ then delete that system/ folder. That has killed off CodeIgniter 1.7.2. Bye!
Now you need to copy the new downloaded system/ folder to the empty gap where the old one was.
Sadly that is not entirely it. You must also copy the following files from the new download to your installation:
Noticed that your controllers and models are broked?
CodeIgniter Controllers and Models used to be defined extend like this:
class Blog_model extends Model
Now in CodeIgniter 2.0 you write:
class Blog_model extends CI_Model
Update 10/11/2010: Remember to do this for Controllers too. Instead of Foo extends Controller, you must now write Foo extends CI_Controller and all parent::Controller() calls must be changed to parent::__construct()!
Let’s not argue about why, what, who, where, when, the fact is you have to do this. It can be achieved with some simple Find & Replace over your folder if your IDE/Text editor will allow it. For most applications (especially ones built primarilry during the 1.7.x era) you are nearly there now. Unless you use plugins or the old Validation class…