本文整理汇总了PHP中Symfony\Component\Console\Event\ConsoleCommandEvent::stopPropagation方法的典型用法代码示例。如果您正苦于以下问题:PHP ConsoleCommandEvent::stopPropagation方法的具体用法?PHP ConsoleCommandEvent::stopPropagation怎么用?PHP ConsoleCommandEvent::stopPropagation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Console\Event\ConsoleCommandEvent
的用法示例。
在下文中一共展示了ConsoleCommandEvent::stopPropagation方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: onConsoleCommand
/**
* Disabling runs members of chains and launching chains of commands.
*
* @param ConsoleCommandEvent $event
*/
public function onConsoleCommand(ConsoleCommandEvent $event)
{
$command = $event->getCommand();
$commandName = $command->getName();
$application = $command->getApplication();
if (!$this->manager->isInitialized()) {
$this->manager->init($application);
}
if ($this->manager->isMember($commandName)) {
$event->disableCommand();
$event->stopPropagation();
$mainCommands = $this->manager->getMainCommands($commandName);
$event->getOutput()->writeln(sprintf('<error>Error: "%s" command is a member of %s command%s chain and cannot be executed on its own.</error>', $commandName, implode(', ', array_map(function ($name) {
return '"' . $name . '"';
}, $mainCommands)), count($mainCommands) > 1 ? 's' : ''));
}
if ($this->manager->hasChains($commandName)) {
$this->manager->runChain($command, $event->getInput());
$event->disableCommand();
$event->stopPropagation();
}
}
示例2: onCommand
public function onCommand(ConsoleCommandEvent $event)
{
/** @var PathHelper $path */
$path = $event->getCommand()->getHelper('path');
$this->old_working_dir = getcwd();
$working_dir = $event->getInput()->getOption('project-path');
$real_working_dir = realpath($working_dir);
if (!$real_working_dir) {
$event->getOutput()->writeln(sprintf('The specified project-path "%s" does not exist.', $working_dir));
$event->stopPropagation();
$event->disableCommand();
return;
}
$path->setProjectPath($working_dir);
$event->getOutput()->writeln(sprintf("Changing directory to %s", $working_dir));
chdir($real_working_dir);
}
示例3: onCommand
public function onCommand(ConsoleCommandEvent $event)
{
$composer_json_path = 'composer.json';
if (file_exists($composer_json_path)) {
return;
}
/** @var QuestionHelper $questionHelper */
$questionHelper = $event->getCommand()->getHelper('question');
$question = new ConfirmationQuestion('Composer has not been initialized, initialize composer now? [yes]: ', true);
if (!$questionHelper->ask($event->getInput(), $event->getOutput(), $question)) {
$event->getOutput()->writeln('Skipping composer init, if the command fails then you should try initializing composer.');
return;
}
/** @var InitHelper $initHelper */
$initHelper = $event->getCommand()->getHelper('composer init');
if ($initHelper->initComposer($event->getOutput())) {
$event->getOutput()->writeln("Composer initialization failed.");
$event->getOutput()->writeln("Please initialize a composer package manually before trying again.");
$event->disableCommand();
$event->stopPropagation();
}
}