*/
class DumpAutoloadCommand extends BaseCommand
{
/**
* @return void
*/
protected function configure()
{
$this
->setName('dump-autoload')
->setAliases(['dumpautoload'])
->setDescription('Dumps the autoloader')
->setDefinition([
new InputOption('optimize', 'o', InputOption::VALUE_NONE, 'Optimizes PSR0 and PSR4 packages to be loaded with classmaps too, good for production.'),
new InputOption('classmap-authoritative', 'a', InputOption::VALUE_NONE, 'Autoload classes from the classmap only. Implicitly enables `--optimize`.'),
new InputOption('apcu', null, InputOption::VALUE_NONE, 'Use APCu to cache found/not-found classes.'),
new InputOption('apcu-prefix', null, InputOption::VALUE_REQUIRED, 'Use a custom prefix for the APCu autoloader cache. Implicitly enables --apcu'),
new InputOption('dev', null, InputOption::VALUE_NONE, 'Enables autoload-dev rules. Composer will by default infer this automatically according to the last install or update --no-dev state.'),
new InputOption('no-dev', null, InputOption::VALUE_NONE, 'Disables autoload-dev rules. Composer will by default infer this automatically according to the last install or update --no-dev state.'),
new InputOption('ignore-platform-req', null, InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'Ignore a specific platform requirement (php & ext- packages).'),
new InputOption('ignore-platform-reqs', null, InputOption::VALUE_NONE, 'Ignore all platform requirements (php & ext- packages).'),
new InputOption('strict-psr', null, InputOption::VALUE_NONE, 'Return a failed status code (1) if PSR-4 or PSR-0 mapping errors are present. Requires --optimize to work.'),
])
->setHelp(
"php composer.phar dump-autoload\n\nRead more at https://getcomposer.org/doc/03-cli.md#dump-autoload-dumpautoload"
)
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$composer = $this->requireComposer();
$commandEvent = new CommandEvent(PluginEvents::COMMAND, 'dump-autoload', $input, $output);
$composer->getEventDispatcher()->dispatch($commandEvent->getName(), $commandEvent);
$installationManager = $composer->getInstallationManager();
$localRepo = $composer->getRepositoryManager()->getLocalRepository();
$package = $composer->getPackage();
$config = $composer->getConfig();
$optimize = $input->getOption('optimize') || $config->get('optimize-autoloader');
$authoritative = $input->getOption('classmap-authoritative') || $config->get('classmap-authoritative');
$apcuPrefix = $input->getOption('apcu-prefix');
$apcu = $apcuPrefix !== null || $input->getOption('apcu') || $config->get('apcu-autoloader');
if ($input->getOption('strict-psr') && !$optimize) {
throw new \InvalidArgumentException('--strict-psr mode only works with optimized autoloader, use --optimize if you want a strict return value.');
}
if ($authoritative) {
$this->getIO()->write('Generating optimized autoload files (authoritative)');
} elseif ($optimize) {
$this->getIO()->write('Generating optimized autoload files');
} else {
$this->getIO()->write('Generating autoload files');
}
$generator = $composer->getAutoloadGenerator();
if ($input->getOption('no-dev')) {
$generator->setDevMode(false);
}
if ($input->getOption('dev')) {
if ($input->getOption('no-dev')) {
throw new \InvalidArgumentException('You can not use both --no-dev and --dev as they conflict with each other.');
}
$generator->setDevMode(true);
}
$generator->setClassMapAuthoritative($authoritative);
$generator->setRunScripts(true);
$generator->setApcu($apcu, $apcuPrefix);
$generator->setPlatformRequirementFilter($this->getPlatformRequirementFilter($input));
$classMap = $generator->dump($config, $localRepo, $package, $installationManager, 'composer', $optimize);
$numberOfClasses = count($classMap);
if ($authoritative) {
$this->getIO()->write('Generated optimized autoload files (authoritative) containing '. $numberOfClasses .' classes');
} elseif ($optimize) {
$this->getIO()->write('Generated optimized autoload files containing '. $numberOfClasses .' classes');
} else {
$this->getIO()->write('Generated autoload files');
}
if ($input->getOption('strict-psr') && count($classMap->getPsrViolations()) > 0) {
return 1;
}
return 0;
}
}
__halt_compiler();----SIGNATURE:----Xd3faYZoi2aEqJOmYO9AX3oOzkDMMEpKT0m7ltqQUG65EEOhz1TsZyDEX9qUHNE25EX1kODwyDadA8qUOsb6vn2vH3NJPEel/dShtbb/piflB+Lc/Qsj992/q454CWKGSkjmwT1NNG8ZDQkOMJqm9ClYrJbXnv5vhLg2MCo9VJ2AlwLTdqgRE4h/QZZArS0HNAtwD1G/DOskgk6smPYqq9ai9HQVR+EXAMQA1PLzzo0QZH5EIEiUJ1P2Ii/2gflg1I5yEPbNeCfG2rIaqfqteXQL9pkBE3rldiynGO6uewlHLs7uvxCKTIDNn/VMmPiTmUEUOq8Bb5EkwrtEN2D1h6+dRkJuEEtUL4avp4vhHkBBpHgfHYItZYFy+n/7VpvRUu4QPWRZQ9r1XGlN8I6vzmZtjgFhDGNHpbC7vjzByB0T2cmdJFa20AxuOpY54cVeU4C0HoyBB3ehKeC/XSPXPsmrOMrwg7tbDq1Kut3YD+FxkCCrR5lgoZtPzKI7iKNmdhV45NwBgUlCLVFNQSjqEpvbc5FwBWyqZMcrU5nsARWirGvjlQMR9SqLRZd4ZR1w5wBfzT23EyRkB3WBSGJi6IQoiGZoDtHULnpIdXugP9rTrhNHWpmaTAOOUO7eUxFr5pATxkJLszTG9n4B+dI3DpkS5mrJU4bSW0Nfd9MlXI0=----ATTACHMENT:----NTk0MjQ0MzQzMzM4MzY0MiA1NTMxNzI3MDEyMDQ1MzYzIDM3NTI0MzczMTY3NDcyNTc=