Das Repository
Während es in der alten Programmierweise auf Basis der piBase noch ein Datenbankobjekt gab, will man sich auf dem FLOW3-Weg von dem Datenbankgedanken lösen. So wurde in FLOW3 das Repository eingeführt, das man einfach als einen Ort bezeichnet, an dem man etwas dauerhaft ablegen kann. Das muss keine Datenbank sein, dass kann auch eine TXT-Datei sein oder XML oder irgendein Internetdienst.
Vom Kopf her müssen wir uns frei machen von komplizierten SQL-Queries. FLOW3 nimmt dem Programmierer diese Arbeit ab und bietet entsprechende Methoden an, um bestimmte, alle oder nur eine Auswahl an Objekten (Datensätze) zurückzuliefern. Auch für das Speichern und Bearbeiten von Objekten (Datensätzen) bietet FLOW3 entsprechende Methoden an.
Auf Grund von Performance werden alle bearbeiteten und gespeicherten Objekte nicht sofort dauerhaft abgelegt, sondern werden nur temporär im Arbeitsspeicher abgelegt. Erst wenn die Methode zum Speichern komplett durchgelaufen ist, erst dann werden alle temporären Objekte zusammengetragen und "in einem Rutsch" im Repository (Datenbank) abgelegt.
Für alle, die nicht warten können, bis eine Methode durchgelaufen ist, gibt es die Methode: persistAll() in der Klasse: Tx_Extbase_Persistence_Manager. Diese Methode durchsucht den Arbeitsspeicher nach neuen bzw. bearbeiteten Objekten und schreibt sie dauerhaft ins Repository.
