The Replacer classes were added in 1.9, when MediaWiki supported PHP 5.0 and 5.1. They were designed to be used with preg_replace_callback() and StringUtils::delimiterReplaceCallback(). Now that Closures exist in PHP 5.3 and newer, there is no need to define a class for this purpose. All existing Replacer subclasses are simple enough that their few uses can easily be replaced with Closures, without making the code harder to understand. In fact, the code probably becomes easier to understand, as what each match is replaced with becomes more obvious -- no need to refer to a separate class. MediaWiki code search finds no uses in extensions. Thus, these classes are hard deprecated immediately. Change-Id: I441c21689909fb06a1ea07a305259eeb82cb2345
46 lines
1.3 KiB
PHP
46 lines
1.3 KiB
PHP
<?php
|
|
/**
|
|
* 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
|
|
*
|
|
* @file
|
|
*/
|
|
|
|
/**
|
|
* Class to perform replacement based on a simple hashtable lookup
|
|
*
|
|
* @deprecated since 1.32, use a Closure instead
|
|
*/
|
|
class HashtableReplacer extends Replacer {
|
|
private $table, $index;
|
|
|
|
/**
|
|
* @param array $table
|
|
* @param int $index
|
|
*/
|
|
public function __construct( $table, $index = 0 ) {
|
|
wfDeprecated( __METHOD__, '1.32' );
|
|
$this->table = $table;
|
|
$this->index = $index;
|
|
}
|
|
|
|
/**
|
|
* @param array $matches
|
|
* @return mixed
|
|
*/
|
|
public function replace( array $matches ) {
|
|
return $this->table[$matches[$this->index]];
|
|
}
|
|
}
|