Jonathan Wage on Doctrine 2
What's new?
- Completely rewritten for PHP 5.3 (Learned a lot building Doctrine 1 - going into Doctrine 2)
- Performance (!) - Twice as fast, with the double of data to hydrate
- Better optimized hydration algorithm
- New query and result caching implementations
- No more *model behaviours*
- substituting magic by OOP.
- mapped Superclasses
- Single Table inheritance: All entities share the same table
Tools
- phpUnit 3.4.10 for Unit Testing
- phing for packaging and distribution
- Sismo for CI
- Jira (linked to Trac for Browsing / Changeset viewing / Timeline view)
Architecture
Entities, Lightweight persitant domain objects. NO more imposing on your domain model, NO need to extend a base class like Doctrine_Base.Entity Manager, the central access point to the ORM functionality.
Separate standalone package and namespace for the DBAL: Doctrine\DBAL.
Lotta Stuff extracted from the ORM to the DBAL.
NO more Magic, using the new Entity Manager
$user = new User;
$user->setName('Jonathan H. Wage');
$em->persist($user);
$em->flush();
$user->setName('Jonathan H. Wage');
$em->persist($user);
$em->flush();
Cache Drivers
New Cache Driver interface for wrapping Doctrine into your existing PHP Caches.Talk von @jwage auf der SymfonyLive2010.
There are no comments on this page. [Add comment]