wiki.techinc.nl/includes/site/SiteSQLStore.php
Brad Jorsch 4191a16700 Remove ORM use from DBSiteStore
This loses something of the genericity of the former DBSiteStore (i.e.
it's now tied to MediaWiki's database and sites table, and subclasses
and users can't easily override that), but nothing in core or extensions
in Gerrit was using that genericity so it's probably no big loss.

Further, T113034 (an RFC to actually use this 'site' stuff for its
original purpose) proposes getting rid of SiteStore anyway.

Bug: T114538
Change-Id: I7e7ca257451e6307a7e5bb11fd393283d0d19e77
2015-10-06 16:20:53 -04:00

58 lines
1.7 KiB
PHP

<?php
/**
* Represents the site configuration of a wiki.
* Holds a list of sites (ie SiteList) and takes care
* of retrieving and caching site information when appropriate.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @since 1.21
*
* @file
* @ingroup Site
*
* @license GNU GPL v2+
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
*/
class SiteSQLStore extends CachingSiteStore {
/**
* @since 1.21
* @deprecated 1.25 Construct a SiteStore instance directly instead.
*
* @param null $sitesTable Unused
* @param BagOStuff|null $cache
*
* @return SiteStore
*/
public static function newInstance( $sitesTable = null, BagOStuff $cache = null ) {
if ( $sitesTable !== null ) {
throw new InvalidArgumentException(
__METHOD__ . ': $sitesTable parameter is unused and must be null'
);
}
if ( $cache === null ) {
$cache = wfGetCache( wfIsHHVM() ? CACHE_ACCEL : CACHE_ANYTHING );
}
$siteStore = new DBSiteStore();
return new static( $siteStore, $cache );
}
}