doctrine 2.0 - forum php

31
Doctrine 2 Juozas Kaziukėnas www.juokaz.com / [email protected] / @juokaz

Upload: juozas-kaziukenas

Post on 18-Nov-2014

11.273 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Doctrine 2.0 - Forum PHP

Doctrine 2Juozas Kaziukėnas

www.juokaz.com / [email protected] / @juokaz

Page 2: Doctrine 2.0 - Forum PHP

Juozas Kaziukėnas, Lithuanian You can call me Joe 2 years in Edinburgh, UK Studying in University of Edinburgh Software developer, consultant and evangelist Open source developer for Zend Framework,

Doctrine… More info in www.juokaz.com and twitter @juokaz

Who am I?

Page 3: Doctrine 2.0 - Forum PHP

Doctrine users? Propel users? (you will be converted!) Interested in DB’s and PHP? Interested in PHP news?

Who are you?

Page 4: Doctrine 2.0 - Forum PHP

Doctrine is ORM tool for PHP

Inspired by Hibernate, ActiveRecord etc.

Page 5: Doctrine 2.0 - Forum PHP

Doctrine 1.X

Page 6: Doctrine 2.0 - Forum PHP

Slow High memory usage (cyclic references) Magic! (eg. Behaviors) Hard to execute raw SQL Still the best ORM for PHP available today

Doctrine 1.X

Page 7: Doctrine 2.0 - Forum PHP

ActiveRecord

Root of all problems!

Page 8: Doctrine 2.0 - Forum PHP

ActiveRecord

Page 9: Doctrine 2.0 - Forum PHP

Stable Works Makes development fast, clean and

consistent Used in production

Still the best ORM for PHP available today

Page 10: Doctrine 2.0 - Forum PHP

Doctrine 2

Page 11: Doctrine 2.0 - Forum PHP

Doctrine 2 is completely

different

Page 12: Doctrine 2.0 - Forum PHP

Everything you can do in Doctrine 1 you can do in Doctrine

2, just in a different way.

Page 13: Doctrine 2.0 - Forum PHP

Rewritten from scratch (almost) PHP 5.3 Decoupled components Simplified API

◦ “Complexified” internals?.. Performance

◦ New hydration◦ Less magic◦ Overall cleanup

What’s new?

Page 14: Doctrine 2.0 - Forum PHP

Doctrine 2 Architecture:Based on JSR-317 a.k.a. JPA v2.0

Page 15: Doctrine 2.0 - Forum PHP

[Common, DBAL, ORM, ODM]

Page 16: Doctrine 2.0 - Forum PHP

Caching Events Annotations Class loaders … more

Common

Page 17: Doctrine 2.0 - Forum PHP

Annotations

Page 18: Doctrine 2.0 - Forum PHP

Can be used without ORM Abstraction for MySQL, PgSQL, Oracle,

Microsoft SQL, DB2 etc. PHP types mapping to DB types Extendable … more

DBAL

Page 19: Doctrine 2.0 - Forum PHP

Connection

Page 20: Doctrine 2.0 - Forum PHP

Actual ORM component Uses Common and DBAL No more ActiveRecord Entities

◦ Metadata mapping Entity manager Query language

◦ Faster, cleaner, clever, extendable◦ No forcing

ORM

Page 21: Doctrine 2.0 - Forum PHP

Entity

Page 22: Doctrine 2.0 - Forum PHP

EntityManager

Page 23: Doctrine 2.0 - Forum PHP

Querying

Page 24: Doctrine 2.0 - Forum PHP

ODM? Hell yeah NoSQL!!!

MongoDB, CauchDB

Page 25: Doctrine 2.0 - Forum PHP

Abstracts NoSQL databases Similar Metadata configuration A lot of functionality from ORM also

available in ODM◦ Querying◦ EntityManager -> DocumentManager

ODM

Page 26: Doctrine 2.0 - Forum PHP

ODM Querying

Page 27: Doctrine 2.0 - Forum PHP

Much more!

Page 28: Doctrine 2.0 - Forum PHP

Migrating from Doctrine 1 to Doctrine 2 Can be tricky Migrating:

◦ … models is easy◦ … application code can require some major

refactoring Do it only if it’s worth it

Migration

Page 29: Doctrine 2.0 - Forum PHP

Doctrine 2 will be released soon Most of the functionality is there Used in production “The library” for PHP 5.3 Symfony, Zend Framework etc.

Finishing

Page 30: Doctrine 2.0 - Forum PHP

Questions?

Page 31: Doctrine 2.0 - Forum PHP

Juozas Kaziukėnas www.juokaz.com [email protected] twitter: @juokaz

Rate talk at http://joind.in/2105

* Illustrations from http://images.google.com

Thanks!!!