Storages: Difference between revisions
some more methods |
+Textblock |
||
(3 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
While [[properties]] handle access and validation of data the '''storages''' take care how this data is retrieved or stored. A storage does not necessarily take or write to a persistant medium but can also retrieve informations from the system or calculate its value. The storage does not need to check for access rights or validate the input data this is done by the connected property. | While [[properties]] handle access and validation of data the '''storages''' take care how this data is retrieved or stored. A storage does not necessarily take or write to a persistant medium but can also retrieve informations from the system or calculate its value. The storage does not need to check for access rights or validate the input data this is done by the connected property. | ||
{{:Property storage linkage}} | |||
All storages are based on {{Resource link|Resource=Class|Name=AbstractStorage}}. | All storages are based on {{Resource link|Resource=Class|Name=AbstractStorage}}. | ||
Line 28: | Line 29: | ||
== Caching == | == Caching == | ||
=== setCacheID(string $id): self === | |||
Sets an cache id. This can be done from external or in the storage itself for example in the constructor | |||
=== getCacheID(): string === | |||
Returns the cache id | |||
=== setCacheTime(int $int): self === | |||
Sets the current caching time | |||
=== getCacheTime(): int === | |||
Returns the current caching time | |||
=== isCachable(): bool === | |||
Returns if this storage is cachable at all. | |||
== Persistance == | == Persistance == | ||
Line 36: | Line 52: | ||
=== rollback() === | === rollback() === | ||
== Writing your own storage == | |||
For details about writing am own storage see [[Writing own storage|here]]. | |||
[[Category:Storages]] | [[Category:Storages]] | ||
[[Category:Properties]] | [[Category:Properties]] |
Latest revision as of 10:39, 22 October 2024
This page is incomplete |
While properties handle access and validation of data the storages take care how this data is retrieved or stored. A storage does not necessarily take or write to a persistant medium but can also retrieve informations from the system or calculate its value. The storage does not need to check for access rights or validate the input data this is done by the connected property.
Every property needs exactly one storage. The linkage between property and storage can be done:
All storages are based on AbstractStorage.
Retrieve data
getValue(string $name)
Returns the value with the id $name. If it exists and the entry is still valid if Returns it from the cache.
Example:
$storage->getValue("test"); // Returns the value of test
getIndexedData(string name, mixed $index)
getElemenCount(string $name): int
getKeys(string $name)
getOffsetExists(string $name, mixed $offset): bool
Write data
setValue(string $name, $value)
setIndexedValue(string $name, mixed $index, $value)
Handle metadata
Caching
setCacheID(string $id): self
Sets an cache id. This can be done from external or in the storage itself for example in the constructor
getCacheID(): string
Returns the cache id
setCacheTime(int $int): self
Sets the current caching time
getCacheTime(): int
Returns the current caching time
isCachable(): bool
Returns if this storage is cachable at all.
Persistance
isDirty(): bool
commit()
rollback()
Writing your own storage
For details about writing am own storage see here.