$this->load->model(‘order_model’) reads as a convenience and is a service locator: it reaches into a global singleton, constructs whatever it finds, and attaches it to the controller by a…
Every CodeIgniter 2 project reaches the point where four controllers need the same authentication check. The framework has no container and no interface to implement — the extension…
5.3 stops getting security fixes in August. Deprecations first, then the behaviour changes, then the version bump — and an APC replacement that ignores every setting you tuned.
CodeIgniter 2 predates Composer and has no hook for a third-party autoloader: its loader looks for a file named after the class, in one of two directories, with…
CodeIgniter 2’s Active Record escapes values for you, which is why it gets recommended as the safe alternative to writing SQL by hand. It escapes the arguments it…
Four unversioned libraries in application/libraries, two of them edited in place. Moving the application onto Composer and PSR-0 without giving up the framework’s own loader.
CodeIgniter exposes seven points in its boot sequence where you can attach a class of your own, and almost nobody uses them, because the usual answer to “run…
CodeIgniter’s execution flow has a fixed set of points where it will call your code — before the system loads, after the controller is constructed, after the response…