PersistentPoolStorage
The PerstentStorage is the base for all storages that can write itself to some kind of persistent storage (like a harddisk or a database). This storages fills the dummy methods commit(), rollback() and isDirty() with some life.
The persistent storage takes care of tracking changes to values. You only have to overwrite a few methods:
doCommit(array $structure)
Performs the transfer to the persistent storage (like database, file, etc.).
For the parameter $structure see #structure
doMigrate(array $structure)
Optional. By default it does nothing. This method should prepare the persistent storage to store values to it (like creating database tables, files, etc.)
For the parameter $structure see #Structure
Structure
The above functions take an array parameter called $structure. This array contains the structure of the owning property. The elements of the array are a stdClass with following members:
- name: A string parameter that holds the name of this property
- type: The primitive type (like integer, date, string, etc.) of this property
- property_class: The full qualified name of the owning property class. This is important for the objects.
Depending on type there could be some additional members that give additional information
- string
- max_length: The maximum length that the string could take
- array
- element_type: The type of a element of the array.