I have been wanting to use a PHP framework for some time to create a database backed website.
The First Attempt
I looked at Kohana PHP because that’s what Gallery 3 is coded in. But because IANAP (I am not a programmer) and I really have not much of an idea about OOP in PHP Kohana was above my head.
To pick up the concepts of OOP PHP I have been looking at web Tutorials I found Object Oriented PHP for Beginners by Stefan Mischook particularly helpful.
A New Hope
I then discovered CakePHP. I think it may have been due to an article in Linux Format or Linux Journal. I can’t remember which.
How cool is that
What makes CakePHP so easy is the excellent documentation and it’s ability to create very quickly all the CRUD (Create, Read, Update, Delete) web interfaces, and all you give CakePHP is database connection details. You just run the
cake script and it generates all the PHP code for you!
It does it for you but
The database needs to be designed according to CakePHP arrangement so it can automatically pickup the relationships. But this is simple to learn. Throughout CakePHP sticking to the conventions means you often get free functionality automagically.
A Little Knowledge is a Dangerous Thing – Drink Deeply
The most enlightening information when beginning with CakePHP I have found so far are the CakePHP Tutorials by Andrew Perkins. They take you from hand coding your Controllers, Models and Views through to rapid prototyping using the
cake bake command and finally to creating access controlled websites. I found that after watching them that I finally have an understanding of Model-View-Controller Architecture. In my case new ideas have to get through Mental Permafrost. These videos gently build knowledge until a light switches on in your head and you ‘get it’.
The CakePHP Book is awesome.