Just wondering, what makes you think that?
Well, not a programmer myself, my experience is that it doesn’t have to be that hard:
set up a local environment running PHP + CakePHP + DBMS (e.g. mariadb) + graphical databasemanager (e.g. phpmyadmin). In Windows using xammp deals with most of it. In Linux it can be more of a burden. When keeping things to defaults, doesn’t need that much configuration.
build a simple database (e.g. just 2 tables) with the graphical databasemanager. Take into account CakePHP database conventions. Don’t start with an existing real-life complex database, that will get you in trouble.
just run ‘bake all --everything’, and you will have a full working CRUD-app! Don’t need to be a programmer to do this.
My experience is to first get the database to its full complexity, and just bake, bake and bake. Not a complex programmer’s task I would say. And when things don’t seem to work after an edit of the database structure, just empty the caches!
At some point the just looking at the baked code and reading the more general parts of the cookbook will give you a feel how things are working.
Now it depends on what you want to change what knowledge you need. You certainly don’t need to have all knowledge at a profound level to just make a start.
Keep a fresh baked app apart from the code you’re working on (baked with a prefix (e.g. ‘/baked’) or in another project) and start working like a script-kiddie. Just copy/paste code and see what’s working. If it’s getting a mess, replace the messed up code with the baked code.
Just writing this down because when googling around you can read more messages like ‘CakePHP is hard to learn’ ‘steep learning curve’ etc. At some point it becomes a self fulfilling prophecy. And I don’t think that does justice to CakePHP, nor to the people who put their time in developing and helping with CakePHP.
To me it’s more like ‘start small, think big’, and you will get where you want to be.