MediaWiki  master
DependencyStore.php
Go to the documentation of this file.
1 <?php
22 
28 abstract class DependencyStore {
30  protected const KEY_PATHS = 'paths';
32  protected const KEY_AS_OF = 'asOf';
33 
39  public function newEntityDependencies( array $paths = [], $asOf = null ) {
40  return [ self::KEY_PATHS => $paths, self::KEY_AS_OF => $asOf ];
41  }
42 
57  final public function retrieve( $type, $entity ) {
58  return $this->retrieveMulti( $type, [ $entity ] )[$entity];
59  }
60 
69  abstract public function retrieveMulti( $type, array $entities );
70 
79  final public function store( $type, $entity, array $data, $ttl ) {
80  $this->storeMulti( $type, [ $entity => $data ], $ttl );
81  }
82 
92  abstract public function storeMulti( $type, array $dataByEntity, $ttl );
93 
100  abstract public function remove( $type, $entities );
101 }
Track per-module dependency file paths that are expensive to mass compute.
storeMulti( $type, array $dataByEntity, $ttl)
Set the currently tracked dependencies for a set of entities.
newEntityDependencies(array $paths=[], $asOf=null)
retrieve( $type, $entity)
Get the currently tracked dependencies for an entity.
store( $type, $entity, array $data, $ttl)
Set the currently tracked dependencies for an entity.
retrieveMulti( $type, array $entities)
Get the currently tracked dependencies for a set of entities.