Currently all new classes in core need to be registered with the autoloader. This is acceptable but inconvenient. This patch adds a script to read the output of php's tokenizer to determine the names of all the classes within mediawiki core. Patches with new or removed classes will just need to rerun the maint script rather than manually adjusting the arrays. A full conversion to psr-0 + composer would solve this as well, but this is a very non-intrusive patch that can get us some portion of the benefit(reduced manual maintenance) today rather than months down the line once we figure out all the intricacies of mediawiki + composer. Change-Id: I8b1bdb84a9699de79f8b9951fa61e5437d083c55
21 lines
623 B
PHP
21 lines
623 B
PHP
<?php
|
|
|
|
require_once __DIR__ . '/../includes/utils/AutoloadGenerator.php';
|
|
|
|
// Mediawiki installation directory
|
|
$base = dirname( __DIR__ );
|
|
|
|
$generator = new AutoloadGenerator( $base, 'local' );
|
|
foreach ( array( 'includes', 'languages', 'maintenance', 'mw-config' ) as $dir ) {
|
|
$generator->readDir( $base . '/' . $dir );
|
|
}
|
|
foreach ( glob( $base . '/*.php' ) as $file ) {
|
|
$generator->readFile( $file );
|
|
}
|
|
|
|
// This class is not defined, but might be added by the installer
|
|
$generator->forceClassPath( 'MyLocalSettingsGenerator', "$base/mw-config/overrides.php" );
|
|
|
|
// Write out the autoload
|
|
$generator->generateAutoload();
|
|
|