means also PSR-1) standards • Composer is the only supported way to install CakePHP • Namespaces • Heavy focus on making the CakePHP Core even more extensible and decoupled • Getting rid of the cruft that has built up over the years
of cool features • Routing improved and made much faster and simpler • HTTP Classes rewritten to focus on modern HTTP world (dealing with PHP Streams, OAuth, etc) • Throwing out the idea that CakePHP does things in it's own weird way for some common problems (Aura.Intl for example)
the basic Model, View, Controller layer given a database schema • So I've loaded a database schema in here already for a simple bookmark system, that is provided from CakePHP's documemation bin/cake bake all users bin/cake bake all bookmarks bin/cake bake all tags
two primary Objects in the ORM: • Tables: "These objects provide access to collections of data. They allow you to save new records, modify/delete existing ones, define relations, and perform bulk operations." • Entities: "Entities represent individual records and allow you to define row/record level behavior & functionality."
• Couldn't stack model/database calls • No query object (sub-queries/unions were hard in Cake's ORM) • No attaching a method to happen on adding/editing/ returning a field in a database, only attaching at the overall Model level • Other issues
retake their lowest quiz grade within the last 14 days iff it is above a 50% $this->Grades->find('students')->find('quiz')->find('date_range')->find('lowest')->find('above50')
the 1.2 era (2008-ish) and haven't really left it since then • Cake 2.x era has been great for the CakePHP community • Cake 2.x has rarely felt like I was missing something or the framework was preventing me from doing something • Cake 3.x gets rid of pretty much every negative association you could have had with CakePHP from the past and gives you a whole new underlying core without a hard transition