ฉันจะไปกับ Doctrine สำหรับฉันแล้วดูเหมือนว่าจะเป็นโครงการที่มีการใช้งานมากกว่าและเป็น ORM เริ่มต้นสำหรับ symfony จึงได้รับการสนับสนุนที่ดีกว่า (แม้ว่า ORM อย่างเป็นทางการจะถือว่าเท่ากันก็ตาม)
นอกจากนี้ฉันชอบวิธีที่คุณทำงานกับแบบสอบถาม (DQL แทน Criteria):
<?php
// Propel
$c = new Criteria();
$c->add(ExamplePeer::ID, 20);
$items = ExamplePeer::doSelectJoinFoobar($c);
// Doctrine
$items = Doctrine_Query::create()
->from('Example e')
->leftJoin('e.Foobar')
->where('e.id = ?', 20)
->execute();
?>
(การใช้หลักคำสอนง่ายกว่ามากสำหรับฉัน)
นอกจากนี้ฉันชอบวิธีจัดการความสัมพันธ์ในหลักคำสอนมากกว่า
ฉันคิดว่าหน้านี้จากเอกสารหลักคำสอนควรค่าแก่การอ่าน: http://www.doctrine-project.org/documentation/manual/1_2/th/introduction:doctrine-explained
สรุป: ถ้าฉันกำลังเริ่มโครงการใหม่หรือต้องเลือกระหว่างการเรียนรู้หลักคำสอนกับการขับเคลื่อนฉันจะไปเรียนหลักคำสอนทุกวัน