Download the PHP package esit/datacollections without Composer
On this page you can find all versions of the php package esit/datacollections. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download esit/datacollections
More information about esit/datacollections
Files in esit/datacollections
Package datacollections
Short Description Es handelt sich um eine Erweiterung für das Open Source CMS Contao. Die Software stellt zwei Collections zur Verfügung und ist als Ersatz für den Einsatz für Arrays gedacht.
License proprietary
Informations about the package datacollections
Datacollections
Beschreibung
Bei dieser Software handelt es sich um eine Erweiterung für das Open Source CMS Contao. Die Software stellt zwei Collections zur Verfügung und ist als Ersatz für den Einsatz für Arrays gedacht.
Autor
e@sy Solutions IT: Patrick Froch [email protected]
Voraussetzungen
- php: ^8.2
- contao/core-bundle:^5.3
- esit/valueobjects: ^1.0
- esit/databaselayer: ^1.0
Installation
Die Erweiterung kann einfach über den Manager installiert werden.
NameInterfaces
Die NameInterfaces sind für die Verwendung der DatabaseRowCollction
erforderlich. Damit sichergestellt ist, dass es
sich um valide Namen für Tabellen und Felder handelt, werden ValueObjects verwendet.
Es muss eine Aufzählung (Enumeration
) mit den Tabellennamen und je eine pro Tabelle mit den Feldnamen erstellt werden.
TablenamesInterface
Die Aufzählung, die das TablenamesInterface
implementiert, enthält die Namen aller relevanten Tabellen im Projekt.
FieldnamesInterface
Die Aufzählungen, die das FieldnamesInterface
implementieren, enthalten die Namen aller Felder einer Tabelle. Es
muss für jede Tabelle eine Aufzählung mit den entsprechenden Feldern geben.
Collections
Grundfunktionen
Alle Collections erweitern die Doctrine\Common\Collections\ArrayCollection
und bietet so auch alle Funktionen aus Doctrine\Common\Collections\ArrayCollection
.
Im Einzelnen sind dies die folgenden Methoden:
- add
- clear
- contains
- containsKey
- current
get=> DurchgetValue
ersetzt, um die gleichen Methodennamen in allen Collections verwenden zu können.- getKeys
- getValues
- isEmpty
- first
- exists
- findFirst
- filter
- forAll
- indexOf
- key
- last
- map
- reduce
- next
- partition
- remove
- removeElement
set=> DurchgetValue
ersetzt, um die gleichen Methodennamen in allen Collections verwenden zu können.- slice
- toArray
- matching
ArrayCollection
Die ArrayCollection
ist für den direkten Ersatz von Arrays gedacht. Die Collection kann
beliebige Werte aufnehmen und bietet viele Methoden für den Umgang mit Arrays.
DatabaseRowCollction
Die DatabaseRowCollection
ist eine Spezialform der ArrayCollection. Sie bietet ebenfalls
viele Methoden für den Umgang mit Arrays. Ihr Zweck ist es, eine Tabellenzeile aufzunehmen.
Die Tabellenzeile kann mit save()
gespeichert werden. Des Weiteren bietet sie ein LazyLoading
von abhängigen Daten, wenn dies im DCA konfiguriert wurde.
Vewendung
Für die Erstellung der Collections gibt es eine Factory. Sie kann eine ArrayCollection
, eine
DatabaseRowCollection
und eine ArrayCollection
mit mehreren DatabaseRowCollection
s erstellen.
Vewendung der ArrayCollection
Hier wird die Erstellung und einige Methoden der ArrayCollection
gezeigt:
Vewendung der DatabaseRowCollection
Für die Verwendung der DatabaseRowCollection
werden zunächst Enumerations vom Typ TablenamesInterface
und
FieldnamesInterface
benötigt (s.o.). Mit diesen können dann über die Factory die DatabaseRowCollection
s erstellt
werden. Da intern ValueObjects für die Namen der Tabellen und Felder verwendet werden, können nur DatabaseRowCollection
für existierende Tabellen erstellt werden und nur auf darin wirklich enthaltene Felder zugegriffen werden.
Für den Zugriff auf einen Wert wird immer ein FieldnamesInterface
benötigt.
Auf den DatabaseRowCollection
stehen die gleichen Methoden zur Verfügung, wie auf den ArrayCollection
. Zusätzlich
gibt es die Methode save
um den Datensatz zu speichern.
Arrays werden immmer als serialisierter String abgelegt und als ArrayCollection
zurückgegeben.
Wenn im DCA das LazyLoading konfiguriert ist, werden die abhängigen Daten automatisch beim Zugriff auf das Feld geladen und zurückgegeben.
LazyLoading
Damit die abhängigen Daten geladen werden können, muss das LazyLoading im DCA konfiguriert werden.
table
gibt die Tabelle an, aus der die Daten geladen werden sollen. field
gibt an, in welchem Feld der Fremdtabelle
der Wert gesucht wird und serialised
gibt an, ob es sich um einen Werte (false
) oder ein serialisiertes Array
von Werten handelt (true
).
All versions of datacollections with dependencies
contao/core-bundle Version ^5.3
esit/valueobjects Version ^1.0
esit/databaselayer Version ^1.0