Your SlideShare is downloading. ×
  • Like
  • Save
Re-imaginging CakePHP
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Re-imaginging CakePHP


Motivations and path to CakePHP 2.0

Motivations and path to CakePHP 2.0

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide

  • startTest and endTest are deprecated- > now use setUp() and tearDown()

  • Sanified

  • No.
    Well, you are free to grab a clone of the repository
    But we’re not committing to a release date, theres so much to do!


  • 1. Re-imagining CakePHP The path to CakePHP 2.0
  • 2. Graham Weldon @predominant 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?