MediaWiki REL1_27
|
Accepts a list of files and directories to search for php files and generates $wgAutoloadLocalClasses or $wgAutoloadClasses lines for all detected classes. More...
Public Member Functions | |
__construct ( $basepath, $flags=[]) | |
forceClassPath ( $fqcn, $inputPath) | |
Force a class to be autoloaded from a specific path, regardless of where or if it was detected. | |
generateAutoload ( $commandName='AutoloadGenerator') | |
Write out all known classes to autoload.php, extension.json, or skin.json in the provided basedir. | |
readDir ( $dir) | |
readFile ( $inputPath) | |
Protected Member Functions | |
generateJsonAutoload ( $filename) | |
Updates the AutoloadClasses field at the given filename. | |
generatePHPAutoload ( $commandName, $filename) | |
Generates a PHP file setting up autoload information. | |
Static Protected Member Functions | |
static | normalizePathSeparator ( $path) |
Ensure that Unix-style path separators ("/") are used in the path. | |
Protected Attributes | |
string | $basepath |
Root path of the project being scanned for classes. | |
array | $classes = [] |
Map of file shortpath to list of FQCN detected within file. | |
ClassCollector | $collector |
Helper class extracts class names from php files. | |
array | $overrides = [] |
Map of FQCN to relative path(from self::$basepath) | |
string | $variableName = 'wgAutoloadClasses' |
The global variable to write output to. | |
Accepts a list of files and directories to search for php files and generates $wgAutoloadLocalClasses or $wgAutoloadClasses lines for all detected classes.
These lines are written out to an autoload.php file in the projects provided basedir.
Usage:
$gen = new AutoloadGenerator( __DIR__ ); $gen->readDir( __DIR__ . '/includes' ); $gen->readFile( __DIR__ . '/foo.php' ) $gen->generateAutoload();
Definition at line 16 of file AutoloadGenerator.php.
AutoloadGenerator::__construct | ( | $basepath, | |
$flags = [] |
|||
) |
string | $basepath | Root path of the project being scanned for classes |
array | string | $flags |
local - If this flag is set $wgAutoloadLocalClasses will be build instead of $wgAutoloadClasses
Definition at line 49 of file AutoloadGenerator.php.
References $basepath, $flags, and normalizePathSeparator().
AutoloadGenerator::forceClassPath | ( | $fqcn, | |
$inputPath | |||
) |
Force a class to be autoloaded from a specific path, regardless of where or if it was detected.
string | $fqcn | FQCN to force the location of |
string | $inputPath | Full path to the file containing the class |
Exception |
Definition at line 68 of file AutoloadGenerator.php.
References $path, and normalizePathSeparator().
AutoloadGenerator::generateAutoload | ( | $commandName = 'AutoloadGenerator' | ) |
Write out all known classes to autoload.php, extension.json, or skin.json in the provided basedir.
string | $commandName | Value used in file comment to direct developers towards the appropriate way to update the autoload. |
Definition at line 225 of file AutoloadGenerator.php.
References generateJsonAutoload(), and generatePHPAutoload().
|
protected |
Updates the AutoloadClasses field at the given filename.
{string} | $filename Filename of JSON extension/skin registration file |
Definition at line 128 of file AutoloadGenerator.php.
References $path, as, and classes.
Referenced by generateAutoload().
|
protected |
Generates a PHP file setting up autoload information.
{string} | $commandName Command name to include in comment |
{string} | $filename of PHP file to put autoload information in. |
Definition at line 163 of file AutoloadGenerator.php.
References $content, $output, $path, as, classes, global, and php.
Referenced by generateAutoload().
|
staticprotected |
Ensure that Unix-style path separators ("/") are used in the path.
string | $path |
Definition at line 249 of file AutoloadGenerator.php.
References $path.
Referenced by __construct(), forceClassPath(), and readFile().
AutoloadGenerator::readDir | ( | $dir | ) |
string | $dir | Path to a directory to recursively search for php files with either .php or .inc extensions |
Definition at line 107 of file AutoloadGenerator.php.
References $dir, $ext, $path, as, and readFile().
AutoloadGenerator::readFile | ( | $inputPath | ) |
string | $inputPath | Path to a php file to find classes within |
Exception |
Definition at line 85 of file AutoloadGenerator.php.
References classes, and normalizePathSeparator().
Referenced by readDir().
|
protected |
Root path of the project being scanned for classes.
Definition at line 20 of file AutoloadGenerator.php.
Referenced by __construct().
|
protected |
Map of file shortpath to list of FQCN detected within file.
Definition at line 30 of file AutoloadGenerator.php.
|
protected |
Helper class extracts class names from php files.
Definition at line 25 of file AutoloadGenerator.php.
|
protected |
Map of FQCN to relative path(from self::$basepath)
Definition at line 40 of file AutoloadGenerator.php.
|
protected |
The global variable to write output to.
Definition at line 35 of file AutoloadGenerator.php.