Backwards compatible • Infinitely extensible (Sparks) • Comes with a lot of libraries and helpers • SEO/User-friendly URLs • Flexible URI Routing • A Command Line Interface (CLI)
Backwards compatible • Infinitely extensible (Sparks) • Comes with a lot of libraries and helpers • SEO/User-friendly URLs • Flexible URI Routing • A Command Line Interface (CLI) • Great documentation
Backwards compatible • Infinitely extensible (Sparks) • Comes with a lot of libraries and helpers • SEO/User-friendly URLs • Flexible URI Routing • A Command Line Interface (CLI) • Great documentation • A very active/helpful community
Backwards compatible • Infinitely extensible (Sparks) • Comes with a lot of libraries and helpers • SEO/User-friendly URLs • Flexible URI Routing • A Command Line Interface (CLI) • Great documentation • A very active/helpful community • It is being actively developed
the database. • View: The information being presented to the user. • Controller: An intermediary between the Model and the View, and any other resources needed to process the HTTP request. This provides a separation of concerns and gives you a logical place to put all of your code for different parts of your application.
Gets routed to the show method of the users controller and passes a parameter with a value of 1 to the method. class Users extends CI_Controller { public function show($id) { // grab the user from the database or something... } } Routing
Composer and Packagist are starting to pick up traction as a standardized way to share libraries across all PHP applications. In addition to integrating third-party code, you can also extend CI's core classes with ease.
new feature development • Many long-time CI developers are changing frameworks The Bottom Line: It's a very dependable, backwards compatible, and easy to learn framework and is well-suited for lightweight web applications. However, if you want to play with the latest and greatest, there are other options you will probably be happier with.