Home
Welcome to my little experimental page on using CakePHP to enhance Drupal by using it's create implementation of the MVC to be more productive then ever!
Why Cake and Drupal
Well to me, drupal is one of the best availaible Open Source content management systems available, but I think the way modules are implemented is sort of making it impossible to write real big applications that way. So I figured I could use CakePHP which I really liked since the first moment I saw it together with drupal. This way I can write my code very quick but also make use of a nice CMS system wrapped around everything already. Here is a list of things of Drupal that I think are really a great addition to CakePHP:
- A ton of modules, functions, layouts, etc.
- Support for several templating engines (like Smarty), but also pure PHP
- A really good theme mangment
- User Authentication / Managment
- Internationalization, for both, interface & content (!)
- Tons of stuff more, check out http://drupal.org/features for a more complete list
How does it work?
The thing that makes everything work is a module for drupal I wrote that basically just calls up cake on every url request drupal would normally answer with an page_not_found error. This way you can seemlessly use drupal and cake for any part of your website.
Pro's and Con's
Well I already mentioned a lot of Pro arguments like the features of drupal, the coding arcitecture of cake. But the main one is definitly: Getting the job done. I mean how long would you need to code Drupal in Cake or writing a big application in pure Drupal? I can tell you that much: long.
But as everything you are going to pay a price. I haven't done any benchmarks yet but everyone will understand that this is not the most resource effective way of doing things. Drupal itself is a framework and and application. So Cake becomes the framework inside of another framework. But even so not knowing exact figures my feeling is that you shouldn't think of this as a problem since we live in a time where CPU power is cheap and code is supposed to be readable. So make use of it. I also think drupal and cake a as resource minimalistic as they can be, regarding what they accomplish so that's another thing that should help.
Getting started
I think the best way to make use of the idea presented here is by starting to read the tutorial and see how it's done. Then just start playing around with cake and drupal and see where you can do what you need to implement. I'm sure your gonna like it ; ).
Felix
