PHP Class VersionPress\Storages\Storage

Afficher le fichier Open project: versionpress/versionpress Class Usage Examples

Méthodes publiques

Свойство Type Description
$ignoreFrequentlyWrittenEntities boolean

Protected Properties

Свойство Type Description
$entityInfo VersionPress\Database\EntityInfo
$isTransaction boolean

Méthodes publiques

Méthode Description
__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.

Méthodes protégées

Méthode Description
deserializeEntity ( $serializedEntity )
maybeReplacePlaceholderWithPrefix ( $key )
maybeReplacePrefixWithPlaceholder ( $key )
serializeEntity ( $vpid, $entity )

Private Methods

Méthode Description
flattenEntity ( $entity )

Method Details

__construct() public méthode

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

commit() abstract public méthode

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

delete() abstract public méthode

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
Résultat 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 méthode

protected deserializeEntity ( $serializedEntity )

exists() abstract public méthode

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)
Résultat boolean

getEntityFilename() abstract public méthode

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)
Résultat string

getPathCommonToAllEntities() abstract public méthode

abstract public getPathCommonToAllEntities ( )

loadAll() abstract public méthode

Loads all entities managed by this storage
abstract public loadAll ( ) : array[]
Résultat array[] Array of arrays where keys are VPIDs and values are arrays with entity data

loadEntity() abstract public méthode

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)
Résultat array Array representing an entity

maybeReplacePlaceholderWithPrefix() protected méthode

maybeReplacePrefixWithPlaceholder() protected méthode

prepareStorage() abstract public méthode

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

save() abstract public méthode

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).
Résultat VersionPress\ChangeInfos\ChangeInfo | null Null indicates that the save operation didn't really change anything (may happen). Otherwise, the ChangeInfo object is returned.

saveLater() abstract public méthode

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

serializeEntity() protected méthode

protected serializeEntity ( $vpid, $entity )

shouldBeSaved() public méthode

True / false if the entity should be saved / ignored. Works as a filtering method.
public shouldBeSaved ( array $data ) : boolean
$data array
Résultat boolean

Property Details

$entityInfo protected_oe property

protected EntityInfo,VersionPress\Database $entityInfo
Résultat VersionPress\Database\EntityInfo

$ignoreFrequentlyWrittenEntities public_oe property

public bool $ignoreFrequentlyWrittenEntities
Résultat boolean

$isTransaction protected_oe property

protected bool $isTransaction
Résultat boolean