Reviews (1-2 of 2)
October 30, 2018
Score 5 out of 10
CakePHP was used by my company to create quick and easy MVC web applications using PHP.
- The common framework tools are all built in: interface translations to different languages , caching the results of queries and user information, or template rendering (redis/memcache are supported natively), simplified database access (the framework's native CakePHP ORM supports ActiveRecord and Datamapper patterns to access data on database) validation of data input from end users, middleware authentication.
- The framework also natively support rest API calls that seamlessly work with your environment and XHR requests. Combining this with their built in magical methods that greatly reduce writing time, it is easy to develop API calls in.
- There is also an extensive support for CLI based utilities developed on top of your web application: these various console applications are ideal for handling the usual background tasks/jobs that occur outside of the HTTP request-response cycle. In any CakePHP console application you can can reuse your application classes already developed for the web app, which just adds to the native extensibility.
- The biggest issue inherit in CakePHP, and why we switched to Laravel, is the base configuration of the program. Most people aree that CakePHP uses old (outdated, even dangerous) PHP habits. There is some truth in this: Cake has not been as quick to adapt to the newer PHP versions as they should. I was always surprised that with new major releases, from 2.4 to 2.5 for example, that the minimum version of PHP will never increase. For example, CakePHP only requires version 5.2.8 of PHP, but it would not have been difficult to update the minimum version at least 5.3 when adapting a new version.
- Speed - our company had many issues scaling CakePHP to a medium size application software, even with using REDIS/memcache we would still run into many issues with the built-in ORM.
Read Matthew Mariner's full review
If you need to create simple CRUD applications using a MVC framework, I could say CakePHP could achieve this. But with frameworks like Laravel on the market, I would have a hard time recommending CakePHP for anything.
I use it for 5 of my projects. The biggest project we currently use, handles CRM databases, including payments details. It's a tool that is almost flexible but sometimes it can be hard to work on it if we plan to move some blocks of code.
- Easy learning curve
- Can be used by new developers without paying a formation
- The MVC is pretty well implemented
- Some tutorials from the official cakephp website show incorrect examples (some code that should be placed in models instead of controllers)
- Relationships in models are not easy to use (OneToMany, HasOne)
- Switching databases logic could be improved
Read this authenticated review
CakePhp is useful if you need to implement a code with different modules (users, payments, pictures). CakePhp is useless if you need to build a quick project that requires a few lines of codes, it's faster to reuse and adapt code from old projects.