Lehre!

Lehre!

Doktrin 2 ist ein Objekt-relationaler Mapper (ORM) für PHP 5.4+, der transparente Persistenz für PHP-Objekte bietet. Es nutzt den Data Mapper zum Kernmodell, um Ihre Domain / Business Logik vollständig von der Beharrlichkeit in einem relationalen Datenbankmanagementsystem zu trennen.

Spezifikationen

Eine Doctrine-Funktion ist die niedrige Konfiguration, die zum Starten eines Projekts erforderlich ist. Die Doktrin kann Objektklassen aus einer vorhandenen Datenbank generieren, und der Programmierer kann dann Beziehungen angeben und benutzerdefinierte Funktionalität zu den generierten Klassen hinzufügen. Es ist nicht notwendig, komplexe XML-Datenbankschemata zu erzeugen oder zu pflegen, wie es in vielen anderen Strukturen zu sehen ist.

Ein weiteres wesentliches Merkmal der Lehre ist die Fähigkeit, Schreibdatenbankabfragen in einer SQL-OO optional (objektorientiert) genannt DQL (Lehre Query Language) basiert auf dem Hibernate HQL. Alternativ baut die QueryBuilder-Klasse (Doctrine_Query in Doctrine 1.x) Abfragen über eine Fluidschnittstelle auf. Diese Schnittstellen bieten Entwicklern leistungsstarke SQL-basierte Alternativen, die Flexibilität beibehalten und das Umschalten von Backend-Enden der Datenbank ermöglichen, ohne dass eine Vervielfältigung von Code erforderlich ist.

Allerdings ist ein explizites Abfragen nicht immer notwendig, da Doctrine Joins durchführt und automatisch verknüpfte Objekte abruft. Kleine Projekte können problemlos ohne Anfragen erstellt werden.

Weitere bemerkenswerte Merkmale der Doktrin sind:
  • Unterstützung für Klammern (Methoden, die die Eingabe und Ausgabe der Datenbank validieren oder ändern können) und Ereignis-Listener, um die Geschäftslogik zu strukturieren;
  • Spaltenaggregationsvererbung (ähnliche Objekte können in einer Datenbanktabelle gespeichert werden, wobei eine Spalte vom Typ, die den Subtyp des jeweiligen Objekts angibt, die korrekte Unterklasse immer bei einer Abfrage zurückgegeben wird ist abgeschlossen);
  • Ein Caching-Framework mit mehreren Backends wie Memcached, SQLite oder APC;
  • ACID-Transaktionen;
  • migrationen von datenbanken;
  • eine "Compilation" -Funktion, um mehrere PHP-Dateien der Struktur zu einem zu kombinieren, um typischerweise die Leistung zu vermeiden, indem sie die vielen PHP-Dateien einer Struktur einbezieht.
Warum Doktrin?
  • Seit ca. 2006 mit einer sehr stabilen und hochwertigen Codebasis.
  • Extrem komplexe und leistungsstarke Abfrage- und Abfragefunktionen.
  • Unterstützung für die Programmierung von High-Level- und Low-Level-Datenbanken für alle Anwendungsfälle.
  • Große Gemeinschaft und Integrationen mit vielen verschiedenen Strukturen (Symfony, Zend Framework, CodeIgniter, Flow, Lithium und mehr)