Successfully reported this slideshow.
Your SlideShare is downloading. ×
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 30 Ad

More Related Content

Slideshows for you (20)

Viewers also liked (20)

Advertisement

Similar to CakeFest 2013 keynote (20)

Recently uploaded (20)

Advertisement

CakeFest 2013 keynote

  1. WHAT KEPT US BUSY A QUICK SUMMARY OF A YEAR WORKING IN CAKEPHP CakeFest 2013 @jose_zap
  2. CAKEPHP IS COMMUNITY DRIVEN This is both good and bad. There is a slower pace in what we do, but the result is a consequence of what the community is actually asking for based of the collective input.
  3. WE GROW OLDER, BUT WISER In general, people working in any organization...
  4. JOIN
  5. GET PASSIONATE ABOUT IT
  6. GET EXPERIENCE
  7. GET BORED
  8. GET MARRIED, HAVE CHILDREN
  9. BECOME BUSIER
  10. AND SOME... LEAVE (sad panda face)
  11. THE CORE TEAM HAVE A CONSTANT DREAM AND A PASSION TO MAKE THINGS BETTER
  12. THIS IS A SUMMARY OF THE THINGS WE DREAMT ABOUT and made its way into the code
  13. HELLO PHP 5.4
  14. NAMESPACES We hate (wrong slash) but we finally converted the virtual packages into namespaces if (strpos($class, '') !== false) Yes, we'll keep using the plugin syntax and save from writing things like that
  15. NEW UNIFIED CONFIG Configuration is passed directly to the classes that are interested about them Bye, Bye DATABASE_CONFIG
  16. COMPOSER SUPPORT OUT OF THE BOX
  17. FASTER, BETTER ROUTER Reverse routing got extremely fast and now it is possible to have named routes!
  18. ROUTING PREFIXES USING NAMESPACES Instead of UsersController::admin_index() you will have a separate AdminUsersController::index()
  19. FASTER, CONSISTENT AND LEANER EVENT MANAGER
  20. FEATURE RICH HTTPSOCKET CLASS
  21. NEW QUERY BUILDER Create queries using a fluent interface with automatic type conversion $union = (new Query($connection)) ->select(['id', 'title']) ->from(['a' => 'articles']); $results = (new Query($connection)) ->select(['id', 'comment']) ->from(['c' => 'comments']) ->where(['created >=', new DateTime('1 day ago')]) ->union($union) ->execute();
  22. SMART SQL DIALECT TRANSLATION You can use this in both PostgreSQL and MySQL $query = (new Query($connection))->select(function($q) { return [ 'id', 'full_name' => $q->concat(['first_name', ' ', 'last_name']) ] });
  23. SMART ASSOCIATION EAGER LOADING This will use a single query $table = Table::build('author'); $table->hasMany('article', [ 'property' => 'articles', 'strategy' => 'subquery', 'sort' => ['article.id' => 'asc'] ]); $results = $table->find('all')->contain('article')->toArray();
  24. CHAINABLE CUSTOM FINDERS Woot!? $articles->latest()->popular()->list()->toArray();
  25. RESULT STREAMING
  26. STOPPABLE FINDS Before find callbacks can stop the query from being executed and return cached results
  27. MAP-REDUCE
  28. SCHEMA MIGRATIONS
  29. AND MUCH, MUCH MORE
  30. WELCOME TO CAKEFEST This is the right place to figure out where we are heading

×