CakePHP vs Zend Framework: What are the differences?
CakePHP: The Rapid Development Framework for PHP. CakePHP makes building web applications simpler, faster, while requiring less code. A modern PHP 7 framework offering a flexible database access layer and a powerful scaffolding system; Zend Framework: An open source, object-oriented web application framework implemented in PHP 5. Zend Framework 2 is an open source framework for developing web applications and services using PHP 5.3+. Zend Framework 2 uses 100% object-oriented code and utilises most of the new features of PHP 5.3, namely namespaces, late static binding, lambda functions and closures.
CakePHP and Zend Framework can be categorized as "Frameworks (Full Stack)" tools.
"Open source" is the primary reason why developers consider CakePHP over the competitors, whereas "Open source" was stated as the key factor in picking Zend Framework.
CakePHP and Zend Framework are both open source tools. It seems that CakePHP with 7.9K GitHub stars and 3.4K forks on GitHub has more adoption than Zend Framework with 5.71K GitHub stars and 2.87K GitHub forks.
According to the StackShare community, CakePHP has a broader approval, being mentioned in 66 company stacks & 29 developers stacks; compared to Zend Framework, which is listed in 40 company stacks and 22 developer stacks.
What is CakePHP?
What is Zend Framework?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using CakePHP?
What are the cons of using Zend Framework?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
The main pro of CakePHP is "bake" functionality and use of conventions, which, if you follow them and buy into them you can really create some complex, large applications quite fast. Faster than any other PHP framework I've ever used, and I've tried all the popular ones.
However, my issues with Cake are as follows:
The ORM is slow. Slower than many of the alternatives. It's queries sometimes do strange things like querying 2 tables separately instead of using a join and I've often faced memory issues stemming from the ORM.
The code conventions, while since 3 they have adopted PSR-2 are still a long way to go to being as compliant with the many PSRs as say, Laravel and Symfony. For example the controllers have an "initialize" method which is doing what you would/should do in __construct. Bugs me.
The template layer needs to be Twig and not the ctp one. This is where the conventions fall apart and I've seen controller code, and tonnes of php logic in views because ctp offers nothing useful, unlike twig or blade templates which are very clean in comparison.
That said I work on a project with hundreds of models and controllers and it holds up really well. I couldn't imagine the same application in Laravel or Symfony. It would be a mess.
Zend framework is firstly designed for experienced professional developers, who have been part of international teams for years. With Zend Framework one could harness nuances of high scale eLearning, eCommerce and eBanking applications without fuss and implement robust, market demands meeting solutions. Zend Framework ships simple, without modules installed, so firstly to build up bare-bones for simple modular app, you will have to preinstall the set of GitHub hosted plugins and modules. Added to the mix, Microsoft is one of the main sponsors of the Zend Framework project, so your company would experience state of the art technologies mash up right away from the beginning of implementing theoretical application project to code stack. All in all, several international associations are awaiting you to enroll to enhance the experience of using Zend Framework 2.
CakePhp has is own Comunity and its very coprative they helpd me lot wen i wind no way to resolve a problem then i go for googling and Stack OverFlow but when we could not find any answer then we have to just post and shere issue with CakePhp Community and get answer Shortly
CakePHP is used because it is a very feature-complete, battle-tested rapid development framework. This saves us months of development time because the API's do most of the work. There is also an extensive plugin and community built around this platform.
CakePHP is one of the most mature and developed PHP Frameworks available, it brings order to Chaos and the core team are a decent bunch of people who really care about the project
The older parts of our core are still using ZF1. We are migrating to simpler framework agnostic controllers with 3rd party components.