MediaWiki  master
PageProps Class Reference

Gives access to properties of a page. More...

Collaboration diagram for PageProps:

Public Member Functions

 __construct (LinkBatchFactory $linkBatchFactory, ILoadBalancer $loadBalancer)
 
 ensureCacheSize ( $size)
 Ensure that cache has at least this size. More...
 
 getAllProperties ( $titles)
 Get all page property values. More...
 
 getProperties ( $titles, $propertyNames)
 Given one or more Titles and one or more names of properties, returns an associative array mapping page ID to property value. More...
 

Static Public Member Functions

static getInstance ()
 

Private Member Functions

 cacheProperties ( $pageID, $pageProperties)
 Save properties to the cache. More...
 
 getCachedProperties ( $pageID)
 Get properties from the cache. More...
 
 getCachedProperty ( $pageID, $propertyName)
 Get a property from the cache. More...
 
 getGoodIDs ( $titles)
 

Private Attributes

MapCacheLRU $cache
 
LinkBatchFactory $linkBatchFactory
 
ILoadBalancer $loadBalancer
 
const CACHE_SIZE = 100
 
const CACHE_TTL = 10
 Cache parameters. More...
 

Detailed Description

Gives access to properties of a page.

Since
1.27

Definition at line 33 of file PageProps.php.

Constructor & Destructor Documentation

◆ __construct()

PageProps::__construct ( LinkBatchFactory  $linkBatchFactory,
ILoadBalancer  $loadBalancer 
)
Parameters
LinkBatchFactory$linkBatchFactory
ILoadBalancer$loadBalancer

Definition at line 59 of file PageProps.php.

References $linkBatchFactory, and $loadBalancer.

Member Function Documentation

◆ cacheProperties()

PageProps::cacheProperties (   $pageID,
  $pageProperties 
)
private

Save properties to the cache.

Parameters
int$pageIDpage ID of page being cached
string[]$pagePropertiesassociative array of page properties to be cached

Definition at line 297 of file PageProps.php.

Referenced by getAllProperties().

◆ ensureCacheSize()

PageProps::ensureCacheSize (   $size)

Ensure that cache has at least this size.

Parameters
int$size

Definition at line 72 of file PageProps.php.

◆ getAllProperties()

PageProps::getAllProperties (   $titles)

Get all page property values.

Given one or more Titles, returns an associative array mapping page ID to an associative array mapping property names to property values. Pages in the provided set of Titles that do not have any properties will not appear in the returned array. If a single Title is provided, it does not need to be passed in an array, but an array will always be returned. An empty array will be returned if no matching properties were found.

Parameters
iterable<PageIdentity>|PageIdentity$titles
Returns
array associative array mapping page ID to property value array

Definition at line 166 of file PageProps.php.

References $dbr, cacheProperties(), DB_REPLICA, getCachedProperties(), and getGoodIDs().

◆ getCachedProperties()

PageProps::getCachedProperties (   $pageID)
private

Get properties from the cache.

Parameters
int$pageIDpage ID of page being queried
Returns
string|bool property value array or false if not found

Definition at line 284 of file PageProps.php.

Referenced by getAllProperties().

◆ getCachedProperty()

PageProps::getCachedProperty (   $pageID,
  $propertyName 
)
private

Get a property from the cache.

Parameters
int$pageIDpage ID of page being queried
string$propertyNamename of property being queried
Returns
string|bool property value array or false if not found

Definition at line 265 of file PageProps.php.

Referenced by getProperties().

◆ getGoodIDs()

PageProps::getGoodIDs (   $titles)
private
Parameters
iterable<PageIdentity>|PageIdentity$titles
Returns
int[] List of good page IDs

Definition at line 222 of file PageProps.php.

References $title.

Referenced by getAllProperties(), and getProperties().

◆ getInstance()

static PageProps::getInstance ( )
static

◆ getProperties()

PageProps::getProperties (   $titles,
  $propertyNames 
)

Given one or more Titles and one or more names of properties, returns an associative array mapping page ID to property value.

Pages in the provided set of Titles that do not have a value for the given properties will not appear in the returned array. If a single Title is provided, it does not need to be passed in an array, but an array will always be returned. If a single property name is provided, it does not need to be passed in an array. In that case, an associative array mapping page ID to property value will be returned; otherwise, an associative array mapping page ID to an associative array mapping property name to property value will be returned. An empty array will be returned if no matching properties were found.

Parameters
iterable<PageIdentity>|PageIdentity$titles
string[] | string$propertyNames
Returns
array associative array mapping page ID to property value

Definition at line 96 of file PageProps.php.

References $dbr, DB_REPLICA, getCachedProperty(), and getGoodIDs().

Member Data Documentation

◆ $cache

MapCacheLRU PageProps::$cache
private

Definition at line 46 of file PageProps.php.

◆ $linkBatchFactory

LinkBatchFactory PageProps::$linkBatchFactory
private

Definition at line 36 of file PageProps.php.

Referenced by __construct().

◆ $loadBalancer

ILoadBalancer PageProps::$loadBalancer
private

Definition at line 39 of file PageProps.php.

Referenced by __construct().

◆ CACHE_SIZE

const PageProps::CACHE_SIZE = 100
private

Definition at line 43 of file PageProps.php.

◆ CACHE_TTL

const PageProps::CACHE_TTL = 10
private

Cache parameters.

Definition at line 42 of file PageProps.php.


The documentation for this class was generated from the following file: