PHP Класс VersionPress\Storages\Storage

Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
$ignoreFrequentlyWrittenEntities boolean

Защищенные свойства (Protected)

Свойство Тип Описание
$entityInfo VersionPress\Database\EntityInfo
$isTransaction boolean

Открытые методы

Метод Описание
__construct ( EntityInfo $entityInfo, $dbPrefix )
commit ( ) Transfers data from memory (saved by Storage::saveLater()) to the files.
delete ( array $restriction ) : VersionPress\ChangeInfos\ChangeInfo | null Deletes entity from a storage
exists ( string $id, string | null $parentId ) : boolean Returns true if the entity exists.
getEntityFilename ( string $id, string | null $parentId ) : string Returns a physical path to an INI file where the entity is stored
getPathCommonToAllEntities ( )
loadAll ( ) : array[] Loads all entities managed by this storage
loadEntity ( string $id, string $parentId ) : array Load an entity by given VPID
prepareStorage ( ) Called from {@link VersionPress\Initialization\Initializer} to give storage a chance to prepare itself.
save ( array $data ) : VersionPress\ChangeInfos\ChangeInfo | null Saves data to a storage
saveLater ( array $data ) Saves data only in memory (used during initialization).
shouldBeSaved ( array $data ) : boolean True / false if the entity should be saved / ignored. Works as a filtering method.

Защищенные методы

Метод Описание
deserializeEntity ( $serializedEntity )
maybeReplacePlaceholderWithPrefix ( $key )
maybeReplacePrefixWithPlaceholder ( $key )
serializeEntity ( $vpid, $entity )

Приватные методы

Метод Описание
flattenEntity ( $entity )

Описание методов

__construct() публичный Метод

public __construct ( EntityInfo $entityInfo, $dbPrefix )
$entityInfo VersionPress\Database\EntityInfo

commit() абстрактный публичный Метод

Transfers data from memory (saved by Storage::saveLater()) to the files.
abstract public commit ( )

delete() абстрактный публичный Метод

Deletes entity from a storage
abstract public delete ( array $restriction ) : VersionPress\ChangeInfos\ChangeInfo | null
$restriction array An array that typically contains a 'vp_id' key that specifies which entity to delete
Результат VersionPress\ChangeInfos\ChangeInfo | null Null indicates that no actual delete happened (for example, the INI file for a given VPID didn't exist). Otherwise, the ChangeInfo object is returned (its action is usually 'delete').

deserializeEntity() защищенный Метод

protected deserializeEntity ( $serializedEntity )

exists() абстрактный публичный Метод

Returns true if the entity exists.
abstract public exists ( string $id, string | null $parentId ) : boolean
$id string VPID
$parentId string | null VPID of parent entity (for example post for postmeta)
Результат boolean

getEntityFilename() абстрактный публичный Метод

Returns a physical path to an INI file where the entity is stored
abstract public getEntityFilename ( string $id, string | null $parentId ) : string
$id string VPID
$parentId string | null VPID of parent entity (for example post for postmeta)
Результат string

getPathCommonToAllEntities() абстрактный публичный Метод

abstract public getPathCommonToAllEntities ( )

loadAll() абстрактный публичный Метод

Loads all entities managed by this storage
abstract public loadAll ( ) : array[]
Результат array[] Array of arrays where keys are VPIDs and values are arrays with entity data

loadEntity() абстрактный публичный Метод

Load an entity by given VPID
abstract public loadEntity ( string $id, string $parentId ) : array
$id string VPID
$parentId string VPID of parent entity (for example post for postmeta)
Результат array Array representing an entity

maybeReplacePlaceholderWithPrefix() защищенный Метод

maybeReplacePrefixWithPlaceholder() защищенный Метод

prepareStorage() абстрактный публичный Метод

For example, directory storage uses this to create its folder. Note: consider if this method needs to be here
abstract public prepareStorage ( )

save() абстрактный публичный Метод

Saves data to a storage
abstract public save ( array $data ) : VersionPress\ChangeInfos\ChangeInfo | null
$data array Associative array with values to save. On `insert`, the $data will contain full entity data plus things like VPID. On further updates, the data will typically contain just the updated values and a VPID (assigned in {@link VersionPress\Database\WpdbMirrorBridge} so that the appropriate file could be located).
Результат VersionPress\ChangeInfos\ChangeInfo | null Null indicates that the save operation didn't really change anything (may happen). Otherwise, the ChangeInfo object is returned.

saveLater() абстрактный публичный Метод

Saves data only in memory (used during initialization).
abstract public saveLater ( array $data )
$data array {@see \Storage::save()}

serializeEntity() защищенный Метод

protected serializeEntity ( $vpid, $entity )

shouldBeSaved() публичный Метод

True / false if the entity should be saved / ignored. Works as a filtering method.
public shouldBeSaved ( array $data ) : boolean
$data array
Результат boolean

Описание свойств

$entityInfo защищенное свойство

protected EntityInfo,VersionPress\Database $entityInfo
Результат VersionPress\Database\EntityInfo

$ignoreFrequentlyWrittenEntities публичное свойство

public bool $ignoreFrequentlyWrittenEntities
Результат boolean

$isTransaction защищенное свойство

protected bool $isTransaction
Результат boolean