CakePHP Introduction, Tutorials, and Resources

CakePHP is a web application development framework designed to make it easy and quick to build new PHP apps. The design of CakePHP follows two principles: "batteries included" and "convention over configuration." These two principles make it relatively easy to get a new app off the ground, even if you're an inexperienced PHP developer. (Obviously, the more you know about PHP, the more you will be able to get out of CakePHP.)

CakePHP enforces conventions at the macro and micro level.

At the macro level, it follows the model-view-controller (MVC) architectural pattern. This is a way of organizing the code for an application into three core components:

  • the model, which defines how data is organized;
  • the view, which defines how data is displayed;
  • the controller, which defines how data is managed and manipulated.

At the micro level, CakePHP has conventions (a "one right way") for everything from naming things, to folder structure, to URL capitalization. It is possible to ignore some of these conventions, but there usually isn't any compelling reason to do so. And if you do follow these conventions, a number of things happen " automagically."

For example, if you follow the conventions properly, CakePHP getting your model classes, your view templates, your database tables, and your URL structure to cooperate becomes a trivial matter. Since you don't have to re-invent the wheel for each new data type, you can focus on the problem you are trying to solve and get things done faster.

Another way that CakePHP helps speed up web development is through its command line tool. This gives you the ability to quickly spin up a new application skeleton, add new models and views, launch build processes, run tests, and manage deployment.

CakePHP Tutorials

The best way to learn about CakePHP is to just dive in and start using it. These tutorials will help you do exactly that.

Reference

Tools

  • CakePackages is the official directory of plugins, modules, extensions, and other tools for CakePHP.
  • Turnkey Linux provides a rapid-deployment Linux image with CakePHP and all needed dependencies, along with easy tools for running on various virtual machines and deploying to Amazon.
  • Cakephp-Tools is a CakePHP plugin containing lots of useful and reusable tools.
  • Awesome CakePHP is a curated list of the best and most interesting tools for CakePHP.

Community

CakePHP has a very active development community who are passionate about the framework.

Books on CakePHP

Should I Learn CakePHP?

If you are a PHP developer, you might want to. CakePHP isn't the most popular framework, but it is consistently in the top ten. It's main focus is on being a "rapid development" platform, and it has a strong "convention over configuration" philosophy. This means that even though CakePHP doesn't support all the bells and whistles of PHP 7, you can still use it to build new apps, with minimal hosting requirements, very fast.


Further Reading and Resources

We have more guides, tutorials, and infographics related to web development:

What Code Should You Learn?

Confused about what programming language you should learn to code in? Check out our infographic, What Code Should You Learn? It not only discusses different aspects of the languages, it answers important questions such as, "How much money will I make programming PHP for a living?"