MediaWiki REL1_32
HashSiteStore.php
Go to the documentation of this file.
1<?php
32class HashSiteStore implements SiteStore {
33
37 private $sites = [];
38
42 public function __construct( $sites = [] ) {
43 $this->saveSites( $sites );
44 }
45
55 public function saveSite( Site $site ) {
56 $this->sites[$site->getGlobalId()] = $site;
57
58 return true;
59 }
60
70 public function saveSites( array $sites ) {
71 foreach ( $sites as $site ) {
72 $this->saveSite( $site );
73 }
74
75 return true;
76 }
77
89 public function getSite( $globalId, $source = 'cache' ) {
90 if ( isset( $this->sites[$globalId] ) ) {
91 return $this->sites[$globalId];
92 } else {
93 return null;
94 }
95 }
96
109 public function getSites( $source = 'cache' ) {
110 return new SiteList( $this->sites );
111 }
112
118 public function clear() {
119 $this->sites = [];
120
121 return true;
122 }
123
124}
In-memory SiteStore implementation, storing sites in an associative array.
saveSite(Site $site)
Saves the provided site.
getSite( $globalId, $source='cache')
Returns the site with provided global id, or null if there is no such site.
__construct( $sites=[])
saveSites(array $sites)
Saves the provided sites.
clear()
Deletes all sites from the database.
getSites( $source='cache')
Returns a list of all sites.
Definition Site.php:29
The wiki should then use memcached to cache various data To use multiple just add more items to the array To increase the weight of a make its entry a array("192.168.0.1:11211", 2))
$source