Lately I’m totally amazed by the beauty that is CakePHP. It’s one of those hyped »rapid webdevelopment frameworks« …and boy, it really enables you to work fast!
At least compared to what I was used to previously in my PHP development.
- endless procedural code
- crafting DB queries by hand
- no MVC
- no ORM
- composing my own “frameworks” to encapsulate DB and HTML output
- simple OO code with no real application structure
…well, you get the spin.
Basically, it meant ugly, unmaintainable code that needed hours of work before there was something to see for the client (or myself) not even talking about being finished.
During the last four days I got myself to sit down and dive into the CakePHP Manual and learn the framework. It was really enlightening and suddenly PHP coding is fun again 🙂
I was able to put together the whole structure of a new app, I’m working on, just by cleverly planning the DB layout and mapping this structure to the models. From there it was just a few simple commands on the shell to let Cake generate the controllers and views. After deleting the ones I didn’t need, I could immediately start tweaking the business logic and fine tune the views. It’s a really good feeling seeing how fast the development is progressing.
Yesterday I took a quick glimpse at Ruby On Rails, just to see where it all came from. The CakePHP developers claimed to have built their framework like RoR but, oh my god – it is just exactly like RoR. The concept of convention over configuration is perfectly migrated from Ruby to PHP.
I kinda like that, because it means if I know Cake I can quickly and very easily learn Ruby On Rails, just by learning a bit of different Ruby syntax, all the other concepts are already in my head 🙂
I’m excited to see where it goes from here, it really looks like my productive output could get a serious boost from now on!
heheh and when you managed ruby on rails – especially ruby you can program python cause ruby took most of their things from the older (monthy) Python. 😉
that means – that our next project gets some cake to its php ? hopefully!
You should definitely look at Symfony. It gives you so much more power, that you wouldn’t want to look at cake afterwards. 🙂
I took a look at Symfony, but chose Cake because it supports PHP4 and PHP5. That’s the only reason, otherwise I would have learned Symfony first 😉