October 30, 2018
Score 5 out of 10
Read Matthew Mariner's full review
Pros and Cons
- 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.