MediaWiki  1.29.2
PageProps Class Reference

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

Collaboration diagram for PageProps:

Public Member Functions

 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 ()
 
static overrideInstance (PageProps $store=null)
 Overrides the default instance of this class This is intended for use while testing and will fail if MW_PHPUNIT_TEST is not defined. More...
 

Public Attributes

const CACHE_SIZE = 100
 
const CACHE_TTL = 10
 Cache parameters. More...
 

Private Member Functions

 __construct ()
 Create a PageProps object. More...
 
 cacheProperties ( $pageID, $pageProperties)
 Save properties to the cache. More...
 
 cacheProperty ( $pageID, $propertyName, $propertyValue)
 Save a property 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

 $cache = null
 Property cache. More...
 

Static Private Attributes

static PageProps $instance
 

Detailed Description

Gives access to properties of a page.

Since
1.27

Definition at line 29 of file PageProps.php.

Constructor & Destructor Documentation

◆ __construct()

PageProps::__construct ( )
private

Create a PageProps object.

Definition at line 83 of file PageProps.php.

References cache.

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 310 of file PageProps.php.

References cache.

Referenced by getAllProperties().

◆ cacheProperty()

PageProps::cacheProperty (   $pageID,
  $propertyName,
  $propertyValue 
)
private

Save a property to the cache.

Parameters
int$pageIDpage ID of page being cached
string$propertyNamename of property being cached
mixed$propertyValuevalue of property

Definition at line 300 of file PageProps.php.

References cache.

Referenced by getProperties().

◆ ensureCacheSize()

PageProps::ensureCacheSize (   $size)

Ensure that cache has at least this size.

Parameters
int$size

Definition at line 91 of file PageProps.php.

References cache.

◆ 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
Title[] | Title$titles
Returns
array associative array mapping page ID to property value array

Definition at line 187 of file PageProps.php.

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

◆ 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 286 of file PageProps.php.

References cache.

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 267 of file PageProps.php.

References cache.

Referenced by getProperties().

◆ getGoodIDs()

PageProps::getGoodIDs (   $titles)
private
Parameters
Title[] | Title$titles
Returns
array array of good page IDs

Definition at line 242 of file PageProps.php.

References $title, $titles, and as.

Referenced by getAllProperties(), and getProperties().

◆ getInstance()

◆ 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
Title[] | Title$titles
string[] | string$propertyNames
Returns
array associative array mapping page ID to property value

Definition at line 115 of file PageProps.php.

References $dbr, $titles, as, cacheProperty(), DB_REPLICA, getCachedProperty(), getGoodIDs(), and wfGetDB().

◆ overrideInstance()

static PageProps::overrideInstance ( PageProps  $store = null)
static

Overrides the default instance of this class This is intended for use while testing and will fail if MW_PHPUNIT_TEST is not defined.

If this method is used it MUST also be called with null after a test to ensure a new default instance is created next time getInstance is called.

Since
1.27
Parameters
PageProps | null$store
Returns
ScopedCallback to reset the overridden value
Exceptions
MWException

Definition at line 50 of file PageProps.php.

References $instance, and use.

Referenced by WikiCategoryPageTest\testHiddenCategory_PropertyIsSet(), WikiCategoryPageTest\testHiddenCategory_PropertyNotSet(), and RecentChangeTest\testHiddenCategoryChange().

Member Data Documentation

◆ $cache

PageProps::$cache = null
private

Property cache.

Definition at line 78 of file PageProps.php.

◆ $instance

PageProps PageProps::$instance
staticprivate

Definition at line 34 of file PageProps.php.

Referenced by getInstance(), and overrideInstance().

◆ CACHE_SIZE

const PageProps::CACHE_SIZE = 100

Definition at line 75 of file PageProps.php.

◆ CACHE_TTL

const PageProps::CACHE_TTL = 10

Cache parameters.

Definition at line 74 of file PageProps.php.


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