LanguageNameIndexer: Generate PHP file instead of serialized file.
Serialized format is no longer in style for data. PHP files can take advantage of AutoLoader and caching so they can even be faster than serialized files. As side bonus we can have readable diffs for updates. Only downside is that the file generation takes about ten lines of ugly string manipulation. Change-Id: If09704d1172daa13c72a308814534cac1fe9899f
This commit is contained in:
committed by
Santhosh
parent
8bb0c2f683
commit
b3ba423354
@@ -18,17 +18,7 @@
|
||||
* @licence MIT License
|
||||
*/
|
||||
class LanguageNameSearch {
|
||||
protected static $languagenames;
|
||||
|
||||
public static function init() {
|
||||
self::$languagenames = unserialize( file_get_contents( __DIR__ . '/langnames.ser' ) );
|
||||
}
|
||||
|
||||
public static function search( $searchKey, $typos = 0 ) {
|
||||
if ( self::$languagenames === null ) {
|
||||
self::init();
|
||||
}
|
||||
|
||||
// Use code's mb_strtolower compatibily code for MW < 1.27
|
||||
$language = Language::factory( 'en' );
|
||||
|
||||
@@ -36,11 +26,11 @@ class LanguageNameSearch {
|
||||
$searchKey = $language->lc( $searchKey );
|
||||
$index = self::getIndex( $searchKey );
|
||||
|
||||
if ( !isset( self::$languagenames[$index] ) ) {
|
||||
if ( !isset( LanguageNameSearchData::$buckets[$index] ) ) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$bucket = self::$languagenames[$index];
|
||||
$bucket = LanguageNameSearchData::$buckets[$index];
|
||||
|
||||
$results = [];
|
||||
foreach ( $bucket as $name => $code ) {
|
||||
|
||||
Reference in New Issue
Block a user