Jens-A. Koch
Maintainer
Offline
Beiträge: 574
One-Man Team
|
 |
« am: Januar 21, 2011, 03:54:28 » |
|
Guten Tag,
ihr habt möglicherweise die letzten Änderungen mitverfolgt und somit hoffentlich mitbekommen, dass ich das System auf Doctrine2 umgestellt habe. Hierfür wurden einige Dinge gänzlich neu geschrieben, so bspw. die Doctrine2.core Klasse, die der Initialisierung dient. Modifiziert wurden auch das Datagrid, die Models, die Schema-Beschreibungen und natürliche Queries.
Die Umwandlung von D1 zu D2 ist nicht abgeschlossen. Bei den Query-Umwandlung könnt ihr mir gerne unter die Arme greifen. Im News-Modul finden sich Beispiele für Queries mit D2. Die alten D1-Records müssen noch in D2-Objekte mit Annotationen umgewandelt werden und die D1-Tables zu Repositories. Vom Grundgedanken ändert sich erstmal nichts, d.h. Record/Objekt beschreibt die Tabelle und stellt grundlegende Zugriffmethoden bereit. Table/Repository ergänzt die Zugriffsmethoden um selbst implementierte.
Ich habe nach folgender Aufgabenliste gearbeitet:
- Austausch der Bibliothek (D1->D2) - D2 Verzeichnisstruktur einfügen - einige alte D1 Datenbankenqueries anpassen, Frontend (News/User/Cats) und Controlcenter (Menu) - Datagrid auf DQL und appended Queries umgestellt - Laden von Entities bei modularer Ablage von Entities sichergestellt - Laden von Entities aus Core - CLI Tool für D2 bereitgestellt - Entity Prüfung/Schema Validierung bereitgestellt - Logging bereitgestellt - CreateSchema bereitgestellt
Nich nicht ganz angepasst: - Datagrid Pager - Doctrine Profiler - Doctrine Debug Console
Ich bin mir durchaus bewusst, dass die Konzepte von Doctrine2 nicht leicht verständlich sind. Es sind zahlreiche Wissenssegmente die verbunden werden müssen, um zu verstehen, wie D2 konzipiert ist und arbeitet. Angefangen bei den "kleinen" PHP-Neuerungen wie Namespaces und globalen use-Statements geht es schnell zu stark konzentriertem OOP, Entities, UnitsOfWork, sowie dateiübergreifenden Mapping mit verschiedenen Mapping-Treibern (YAML, XML, PHPDoc). Zusätzlich zu relationalen Datenbankenkonzepten sind Meta-Datentypen und Meta-Datenabfragesprache (DQL) als Objektabfragespache, sowie Objekt-Assoziationen und Objektverbindungen zu verstehen.
Gruß Jens
|