global $wgAutoloadClasses, $wgAutoloadLocalClasses,
$wgAutoloadAttemptLowercase;
- // Workaround for PHP bug <https://bugs.php.net/bug.php?id=49143> (5.3.2. is broken, it's
- // fixed in 5.3.6). Strip leading backslashes from class names. When namespaces are used,
- // leading backslashes are used to indicate the top-level namespace, e.g. \foo\Bar. When
- // used like this in the code, the leading backslash isn't passed to the auto-loader
- // ($className would be 'foo\Bar'). However, if a class is accessed using a string instead
- // of a class literal (e.g. $class = '\foo\Bar'; new $class()), then some versions of PHP
- // do not strip the leading backlash in this case, causing autoloading to fail.
- $className = ltrim( $className, '\\' );
-
$filename = false;
if ( isset( $wgAutoloadLocalClasses[$className] ) ) {
require $filename;
}
- /**
- * Force a class to be run through the autoloader, helpful for things like
- * Sanitizer that have define()s outside of their class definition. Of course
- * this wouldn't be necessary if everything in MediaWiki was class-based. Sigh.
- *
- * @param string $class
- * @return bool Return the results of class_exists() so we know if we were successful
- */
- static function loadClass( $class ) {
- return class_exists( $class );
- }
-
/**
* Method to clear the protected class property $autoloadLocalClassesLower.
* Used in tests.
}
}
-spl_autoload_register( array( 'AutoLoader', 'autoload' ) );
+spl_autoload_register( [ 'AutoLoader', 'autoload' ] );