CakePHP is often more than just a framework to many in the community, but there are some great features and treasures that many may not know about - so join us with your piece of cake and let’s check these out!
Cake Bake
Cake Bake is an incredibly helpful tool for any developer starting up a new application, or adding new functionality to an existing one.
Using your existing database schema (that follows the CakePHP conventions), running the cake bake command will quickly generate a fully working application skeleton with all your database fields and associations. It will even generate sane validation rules and pretty view files for you.
This allows you to concentrate on the features of your application that actually matter, rather than the generic admin CRUD interfaces.
Have some kind of structure or class in your application that you regularly need to create? Maybe a specifically formatted view, or adaptor class? Cake Bake allows you to easily extend it and create your own bakeable templates. Find out more about Cake Bake in the CakePHP Cookbook (i.e. the framework docs)
CakePHP standalone packages
CakePHP’s core is built using standalone packages - this means that you aren’t bound to the framework.
The ORM, database, console, log to just name a few are available to use in your own PHP projects - even if you aren’t using CakePHP. Have you checked these out?
Interactive console (REPL)
Not many developers are aware that CakePHP ships with an interactive console tool (Or REPL - Read Eval Print Loop).
You can start the console with bin/cake console.
This console tool allows you to quickly and easily explore CakePHP and your application. Use it to quickly check if a finder method is working as expected, or to experiment with a specific query. Anything that you can code, you can run in the interactive console, much quicker and easier than coding a class.
Chronos
Chronos is a standalone DateTime library originally based off of Carbon.
The biggest difference between Chronos and Carbon is that Chronos extends DateTimeImmutable instead of DateTime. Chronos is immutable by default. Carbon is not.
CakePHP Core team
The core team is built up of community members - just like yourself - who contribute their time to improving the framework.
All of their time is volunteered - so if you see them in the support channels, be sure to say hi!
How did they get onto the core team you ask? They showed commitment to improving the core and the community.
There are some plugins that are just around to make your life a little easier
While most plugins were developed to add to the functionality of your CakePHP application without too much extra effort, there are some plugins that have been written to actually just make your life easier.
One such plugin is the CakePHP IDE helper, written by dereuromark. This plugin improves your IDE compatibility and uses annotations to make the IDE understand the "magic" of CakePHP - so you can click through the class methods and object chains as well as spot obvious issues and mistakes easier. For a curated list of CakePHP Plugins, grouped by topic, check https://github.com/FriendsOfCake/awesome-cakephp.
What’s your favourite part of the CakePHP framework or community? Let us know!