EZPDO
Aus php bar
EZPDO ist ein O/R-Mapper für PHP. Dabei arbeitet EZPDO mit Annotationen wodurch es nur eine kleine Konfigurationsdatei (wahlweise .ini oder .xml) gibt. Die Annotationen sind im phpDocumentor-Stil und können diesem auch als eigene Auszeichnungen (engl.: custom tags) beigebracht werden.
Inhaltsverzeichnis |
Beispiel
1 $em = epManager::instance(); 2 3 class Book { 4 5 /** 6 * Bool title 7 * @var string 8 * @orm title char(80) 9 */ 10 public $title; 11 12 /** 13 * Number of pages 14 * @var integer 15 * @orm integer 16 */ 17 public $pages = -1; 18 19 /** 20 * Book author (assuming many co-authors) 21 * @var Author 22 * @orm has many Author 23 */ 24 public $authors = array(); 25 26 /** 27 * Constructor 28 * @param string 29 */ 30 public function __construct($title = '') { 31 parent::__construct(); 32 $this->title = $title; 33 } 34 35 // the rest of the code in the class omitted... 36 } 37 38 $b1 = $em->create('Book'); 39 $b1->title = 'Design Patterns'; 40 $b1->pages = 395;
Vorteile
- Schneller und ressourcenschonener als Propel
- Einfache Konfiguration
- @orm-Notation animiert zur Dokumentation.
- Unterstützung für fast alle Datenbanken
- Relativ gute Dokumentation
Nachteile
- Alle Attribute müssen public deklariert werden. Besser wäre hier ein Zugriff über Getter und Setter.
- Durch starke Abstraktion wenig/geringen Einfluss auf die wirkliche Datenbank
Unterstützte Datenbanken
Da EZPDO nicht direkt auf die Datenbank zugreift, sondern über eine Datenbankabstraktionsschicht (DBAL) kann EZPDO mit fast allen Datenbanken zusammenarbeiten. Folgende DBALs werden zur Zeit untersützt:

