When comparing CodeIgniter vs Zend Framework, the Slant community recommends CodeIgniter for most people. In the question“What are the best PHP frameworks?” CodeIgniter is ranked 8th while Zend Framework is ranked 18th. The most important reason people chose CodeIgniter is:
Setting up CodeIgniter is quick and easy. You can download the version you want from the CI homepage or directly pull the latest version from GitHub. After that, you unzip the contents to the directory that's required. The final step is to edit the `config.php` to suit your needs and it's set up and ready for development. There are also a lot of guides and tutorials from developers who have been using CI for a long time. This is because of the relative old age of the framework and the large community behind it.
Ranked in these QuestionsQuestion Ranking
Setting up CodeIgniter is quick and easy. You can download the version you want from the CI homepage or directly pull the latest version from GitHub. After that, you unzip the contents to the directory that's required. The final step is to edit the
config.php to suit your needs and it's set up and ready for development.
There are also a lot of guides and tutorials from developers who have been using CI for a long time. This is because of the relative old age of the framework and the large community behind it.
Pro Well documented
The documentation is clear, structured and thorough. It explains both commonly used and CodeIgniter specific concepts and always with clear examples.
CodeIgniter has a small footprint, just 3MB and that's including the user guide.
Pro Active community
Because it's relatively old and well-liked, it has an active community of developers behind it. It's used by a lot of websites in production.
CodeIgniter is tested by hundreds of thousand of developers that use it in production. This means that it's very hard for any bugs or problems to go unnoticed. Even when a new version is out, bugs are quickly found and patched up.
Pro Open source
The MIT License (MIT)
CodeIgniter is open source and is distributed under the MIT license.
Pro Easy to use templating engine
CodeIgniter has it's own templating engine built-in. It's based on a mustache-like templating language which is easy to learn for new developers who have never seen it. While experienced developers will feel very comfortable using it.
Pro Output caching
CodeIgniter lets you cache the web pages in order to decrease loading times and increase efficiency and performance.
Pro Well architected
Pro Enterprise ready
Zend is the most used PHP framework by big businesses. Zend is widely used and tested by a large number of banks, as well as companies, such as Allied Beverage, BBC, Shaklee, CarinBridge, BNP Paribas and more.
Pro Corporate backing
Partnered with Google, IBM, Adobe, Microsoft
Pro Extended predefined classes
Zend has a large library of predefined classes with which developers can create maintainable and stable web applications. This is done if the developer works within the constraints and with the components of these different predefined classes, which makes the application more maintainable.
Pro Wide database support
Zend supports almost all kinds of databases out there. From MySQL, IBM DB2, Oracle, Microsoft SQL Server to PostgreSQL.
Pro Allows customization
For developpers not used to Zend, they can use a predefined structure and use preloaded components and classes to build and maintain their application. But for advanced developpers, they can customize the structure to stick to their needs (or their likings) and extend primary Zend components for fine-tuned apps or replace the initial predefined Zend components by third parties components such as Doctrine ORM or another logging or templating framework.
Pro Easy to build an API with Apigility
Apigility is a collection of Zend Framework modules. It's useful for building the API architecture of a web app quickly and painlessly by providing a flexible engine.
Apigility also has a web-based UI that allows developers to quickly create and modify API services, configure authentication, set authorization rules, set up validation and write new documents.
CodeIgniter was first released during the times of PHP 4. This means that a lot of features that were added later to PHP are not available. Some of these features are:
- Support for namespaces
- Modular separation by default
- Procedural function helpers
While nowadays CodeIgniter can be used along the latest version of PHP, these features were not added so as not to mess with backward compatibility. They can still be used with CI, but it requires extending core files to make it work which is a waste of time and energy and requires advanced knowloedge of both PHP and CI.
Con not unit testing
Con It does not have basic functions
Some of the missing features include controller security, filters in forms and modoles, rules of validation, among others.
Con Loose documentation
Since Zend has a loosely-coupled architecture, it means that the documentation will be quite loose as well. Even though there's a lot of documentation for the framework, it's still hard to use it as a guideline to create a completed project. Although this can be less of a problem considering all the tutorials and guides out there.