Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Re-imaginging CakePHP

8,026 views

Published on

Motivations and path to CakePHP 2.0

Published in: Technology
  • Be the first to comment

Re-imaginging CakePHP

  1. Re-imagining CakePHP The path to CakePHP 2.0
  2. Graham Weldon @predominant graham.weldon@cakedc.com http://cakedc.com http://grahamweldon.com Jester
  3. Motivations Love CakePHP Hate doing repetitive code An educator
  4. PHP Support Adios PHP 4
  5. PHP Support Dropping PHP 4 support Supporting PHP 5.2 and above
  6. Shortcuts Removed: PHP5 constant e() a() aa() r() ife() params() up() low()
  7. Unit Testing Out with the SimpleTest In with the PHPUnit
  8. Unit Testing Arguably one of the bigger changes Enables better PHP 5 support More actively maintained Easily integrated with CruiseControl De-facto PHP standard for Unit Testing Install PHPUnit with PEAR Faster
  9. Unit Testing PHPUnit, at what cost? No more group tests Mocks are different.. but awesome++ startTest() and endTest() deprecated .. thats about it.
  10. Collections Organising
  11. Collections Behaviors Components Helpers Shells
  12. SPL Replacing what we can
  13. SPL Standard PHP Library Provides awesome File and Folder operations Classes handy for a whole range of things No need to re-implement in the core CakePHP 1.x was ahead of its time PHP has caught up Time to cut the fat
  14. Exceptions
  15. Exceptions Using exceptions to indicate errors in the core Easier to control More “OO” Removing cakeError
  16. Request / Response Request represents an incoming request It replaces functionality through Controller, Dispatcher, RequestHandler and $this- >params everywhere ArrayAccess implementation for backwards compatibility
  17. Sessions
  18. Sessions Remove duplicated code (DRY) Shouldn’t be always included (1.3 fix) Modelise data handling Access anywhere Allow simple customisation Separate Caching, Database, etc.
  19. Sessions
  20. Sessions SessionHandler Database Cache PHP
  21. Sessions SessionHandler Database Cache PHP
  22. Sessions SessionHandler Database Cache PHP Your Crazy Engine
  23. Sessions SessionHandler Database Cache PHP Cake Session Your Crazy Engine Handler Interface
  24. Hang on! That looks familiar
  25. Javascript (v1.3) JavascriptHelper jQuery Prototype Mootools
  26. Javascript (v1.3) JavascriptHelper jQuery Prototype Mootools
  27. Javascript (v1.3) JavascriptHelper jQuery Prototype Mootools Your Super Engine
  28. Javascript (v1.3) JavascriptHelper jQuery Prototype Mootools Your Super Engine JsBaseEngineHelper
  29. Lazy Loading
  30. Lazy Loading Nested Objects (some of them) Components Helpers Tasks Cheap Optimisation
  31. XML Making it make sense!
  32. XML As much as one can make XML make sense.. .. we’re doing it 1.x was very CakePHP specific with XML Wasn’t handy for integration Didn’t handle namespaces well Didn’t allow for ordered nodes Build on top of SimpleXML
  33. Getting feedback
  34. I can has? No. Well.. Yes. But no.
  35. Beta
  36. Beta
  37. Beta Alpha?
  38. Beta Alpha?
  39. Beta Alpha? Dev
  40. Beta Alpha? Dev
  41. Beta Alpha? Dev ... runs?
  42. Beta Most of the Alpha? time.. Depends on the progress. Dev ... runs?

×