CodeIgniter framework is loosely based on the more popular model–view–controller (MVC) development pattern. In this case, controller classes are a necessary part of development under CodeIgniter, models and views are optional.
Developers can also modify CodeIgniter to use Hierarchical Model View Controller (HMVC) allowing them to maintain modular grouping of Controller, Models and View arranged in a sub-directory format.
The first public version of CodeIgniter was released by EllisLab on February 28, 2006.
Speaking about CodeIgniter, it is most often noted for its speed when you compare it to other existing PHP frameworks. Stating bluntly at frOSCon in August 2008, PHP creator Rasmus Lerdorf stated that he liked CodeIgniter "because it is faster, lighter and the least like a framework.”
State of Codeigniter
If you have ever worked along the lines of Codeigniter development services, you know how widely accepted and popular this open-source framework is. And who would deny the fact that PHP is the most popular programming language when it comes to developing websites and web applications.
With the IT sector expanding across all paradigms, developing unique web applications has become a norm. With more than 50 PHP frameworks offering tools that make PHP coding and programming as easy as possible, it is easy to fall into choice paralysis. But, Codeigniter stands out among all others.
Open source- CodeIgniter being open-source, it disentangles the assignments of programming and development along the path. It becomes an open playground for solution architects to engineer and innovate. This is the top reason why CI becomes the first choice for developers working in PHP.
Light-weight- CI is extremely light-weight and efficient. The core system of the framework requires only a few very small libraries to function at its full potential; compared to other frameworks in this category which require a significant amount of resources to do similar tasks. You can load additional libraries dynamically upon request pertaining to your needs for a given process, so the base system is very lean and considerably fast.
MVC Pattern- CodeIgniter runs using the Model-View-Controller approach, allowing efficient separation between logic and presentation. This is an advantage in projects where designers are working with your template files, as the code these files contain will be minimized.
More robust and extensive features:
- Full Featured database classes with support for several platforms.
- Query Builder Database Support
- Form and Data Validation
- Security and XSS Filtering
- Session Management<
- Email Sending Class. Supports Attachments, HTML/Text email, multiple protocols (sendmail, SMTP, and Mail) and more.
- Image Manipulation Library (cropping, resizing, rotating, etc.). Supports GD, ImageMagick, and NetPBM
- File Uploading Class
- FTP Class
- Data Encryption
- Full Page Caching
- Error Logging
- Application Profiling
- Calendaring Class
- User Agent Class
- Zip Encoding Class
- Template Engine Class
- Trackback Class
- XML-RPC Library
- Unit Testing Class
- Search-engine Friendly URLs
- Flexible URI Routing
- Support for Hooks and Class Extensions
- Large library of “helper” functions
The components in CI have been loaded and routines executed only when requested, rather than running globally. You will not find the system making any assumptions regarding what may be needed beyond the minimal core resources. This is the reason you fill the system light-weight by default. The events, as triggered by the HTTP request, and the controllers and views you design will determine what is invoked.</li>
Coupling can be called the degree up to which certain components of a system rely on each other for functionality. The relationship is inversely proportional, where the less components depend on each other, the more reusable and flexible the system becomes. CI is based on a loosely coupled system.
Singularity is the degree to which components have a narrowly focused purpose. You will find that each class and its functions are immaculately autonomous allowing maximum usefulness.
The demand for CodeIgniter framework in PHP is huge among a vast diaspora of developers due to its versatile features and advantages. Once a web application is developed on CodeIgniter, it performs effectively and rapidly. There is an advanced set of aspects to write from scratch to build a dynamic web application with CI.