What is CodeIgniter?

CodeIgniter is an open source rapid development web application framework, for use in building dynamic web sites with PHP. "Its goal is to enable [developers] to develop projects much faster than writing code from scratch, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and logical structure to access these libraries."

The first public version of CodeIgniter was released on February 28, 2006, and the latest stable version 2.1.3 was released October 8, 2012.

CodeIgniter is loosely based on the popular Model-View-Controller development pattern. While view and controller classes are a necessary part of development under CodeIgniter, models are optional.


Project based training Only at Chembur


10 reasons why Code Igniter is used.

  1. MVC Architecture

    The model, view, controller architecture is nothing new. It seems like all the coding frameworks are MVC nowadays, and if they aren't it can be configured easily. The MVC way of doing things offers nice code separation and keeps things clean. Some frameworks force you to do things by the books but Code Igniter lets you use MVC in a way that makes sense you.

  2. Little to no server requirements.

    Unlike other PHP frameworks, Code Igniter works with both PHP 4 and 5. That makes the lives of someone like me who has to be able to work seamlessly between the two environments much easier.

  3. Easy to understand and extend.

    Code Igniter is easy to write new libraries, change the behaviour of existing libraries and just change the overall behaviour of the framework with little effort.

  4. All the tools you need in one little package.

    Calendar, e-mail, zip encoding, validation, uploading, sessions, unit testing… that is just a few of the built in libraries that come with Code Igniter. It also includes a boat load of default helpers for things like forms, file handling, arrays, strings, cookies, directories and more. Plus, if that wasn't enough, you can create your own libraries and helpers or use code that has been developed by the Code Igniter community

  5. No Installation necessary.

    Code Igniter fits this requirement nicely. No need for PEAR packages or server modifications to get the framework up and running. Just upload the files to your server and your off.

  6. Built in security tools.

    Code Igniter allows you to implement as much or as little security as you feel is necessary for your app. It does some things by default like unsetting all global variables regardless of PHPs register_globals directive and turning off the magic_quotes_runtime directive during system initialization so that you don't have to remove slashes when retrieving data from your database. Other things can be enabled like cookie encryption, handling session data with a database and automatically escaping SQL queries.
  7. Database abstraction and more.

    Every decent framework has a database abstraction layer nowadays and Code Igniter is no exception. You can easily create insert, update and delete statements without needing to write raw SQL. Handle connections to multiple databases within one application and connect to any of the following database types: MySQL (4.1+), MySQLi, MS SQL, Postgre, Oracle, SQLite, or ODBC. Code Igniter also lets you manipulate your database like add/remove columns from tables, create new tables and remove old ones using it's new database forge library.

  8. Large and active user community.

    There were over 57,000 registered members on the Code Igniter forums. That is a nice and big user community to work with when you have a problem or question. The Code Igniter website has a forum and wiki when your looking for answers. No confusing group mailing lists or chat channels just to get a quick answer to a question.

  9. Excellent documentation.

    By far, the biggest advantage of Code Igniter over any other framework is it's documentation. Code Igniter's documentation is 10 times better than other framework documentation and thats strongly because Code Igniter is backed by a company and not just a community.

  10. Will soon be one in the same with ExpressionEngine.

    ExpressiongEngine, EllisLabs content management system, is currently being rebuilt to use the framework. This means that whatever libraries, helpers, etc. that you develop for Code Igniter you can use with EE in the future and vice versa. This also means that whatever EE needs to operate, Code Igniter gets. This could means things like an improved parser class, built in user authentication, ability to easily program modular applications and more.



Learn CodeIgniter as a part of Level 2 Web Technologist curriculum