本文整理汇总了PHP中Symfony\Component\Console\Event\ConsoleCommandEvent::getCommand方法的典型用法代码示例。如果您正苦于以下问题:PHP ConsoleCommandEvent::getCommand方法的具体用法?PHP ConsoleCommandEvent::getCommand怎么用?PHP ConsoleCommandEvent::getCommand使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Console\Event\ConsoleCommandEvent
的用法示例。
在下文中一共展示了ConsoleCommandEvent::getCommand方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: mergeDefinitions
private function mergeDefinitions(ConsoleCommandEvent $event)
{
$inputDefinition = $event->getCommand()->getApplication()->getDefinition();
$inputDefinition->addOption(new InputOption('log-memory', null, InputOption::VALUE_NONE, 'Output information about memory usage', null));
$inputDefinition->addOption(new InputOption('daemonize', null, InputOption::VALUE_NONE, 'Output information about memory usage', null));
$event->getCommand()->mergeApplicationDefinition();
return true;
}
示例2: setDefaultValues
/**
* @param ConsoleCommandEvent $event
*/
public function setDefaultValues(ConsoleCommandEvent $event)
{
/* @var Command $command */
$command = $event->getCommand();
$application = $command->getApplication();
$config = $application->getConfig();
if (in_array($command->getName(), $this->skipCommands)) {
return;
}
$input = $command->getDefinition();
$options = $input->getOptions();
foreach ($options as $key => $option) {
$defaultOption = sprintf('application.default.commands.%s.options.%s', str_replace(':', '.', $command->getName()), $key);
$defaultValue = $config->get($defaultOption);
if ($defaultValue) {
$option->setDefault($defaultValue);
}
}
$arguments = $input->getArguments();
foreach ($arguments as $key => $argument) {
$defaultArgument = sprintf('application.default.commands.%s.arguments.%s', str_replace(':', '.', $command->getName()), $key);
$defaultValue = $config->get($defaultArgument);
if ($defaultValue) {
$argument->setDefault($defaultValue);
}
}
}
示例3: listenForServerRunCommand
public function listenForServerRunCommand(ConsoleCommandEvent $event)
{
if (!$event->getCommand() instanceof ServerRunCommand) {
return;
}
$argv = $_SERVER['argv'];
if (count($argv) < 3) {
return;
}
// strip the application name
array_shift($argv);
// strip the command name
array_shift($argv);
$address = $argv[0];
if (0 !== strpos($address, '0.0.0.0')) {
return;
}
$address = str_replace('0.0.0.0', $this->getLocalIp(), $address);
$output = $event->getOutput();
$output->writeln(sprintf('If you are in a container you would probably prefer to use: <info>http://%s</info>', $address));
if (function_exists('uprofiler_enable')) {
$output->writeln(sprintf('XHProf UI: <info>http://%s/xhprof</info>', $address));
}
$output->writeln('');
}
示例4: onConsoleCommand
/**
* @param ConsoleCommandEvent $event
*
* @return void
* @throws CommandAlreadyRunningException
*/
public function onConsoleCommand(ConsoleCommandEvent $event)
{
// generate pid file name
$commandName = $event->getCommand()->getName();
// check for exceptions
if (in_array($commandName, $this->exceptionsList)) {
return;
}
$clearedCommandName = $this->cleanString($commandName);
$pidFile = $this->pidFile = $this->pidDirectory . "/{$clearedCommandName}.pid";
// check if command is already executing
if (file_exists($pidFile)) {
$pidOfRunningCommand = file_get_contents($pidFile);
$elements = explode(":", $pidOfRunningCommand);
if ($elements[0] == gethostname()) {
if (posix_getpgid($elements[1]) !== false) {
throw (new CommandAlreadyRunningException())->setCommandName($commandName)->setPidNumber($pidOfRunningCommand);
} else {
// pid file exist but the process is not running anymore
unlink($pidFile);
}
} else {
throw (new CommandAlreadyRunningException())->setCommandName($commandName)->setPidNumber($pidOfRunningCommand);
}
}
// if is not already executing create pid file
//file_put_contents($pidFile, getmypid());
// Añadimos hostname para verificar desde que frontal se estan ejecutando
$string = gethostname() . ":" . getmypid();
file_put_contents($pidFile, $string);
// register shutdown function to remove pid file in case of unexpected exit
register_shutdown_function(array($this, 'shutDown'), null, $pidFile);
}
示例5: validateDependencies
/**
* @param ConsoleCommandEvent $event
*/
public function validateDependencies(ConsoleCommandEvent $event)
{
/**
* @var \Drupal\AppConsole\Command\Command $command
*/
$command = $event->getCommand();
$output = $event->getOutput();
$application = $command->getApplication();
$messageHelper = $application->getHelperSet()->get('message');
/**
* @var TranslatorHelper
*/
$translatorHelper = $application->getHelperSet()->get('translator');
if (!$command instanceof Command) {
return;
}
$dependencies = $command->getDependencies();
if ($dependencies) {
foreach ($dependencies as $dependency) {
if (\Drupal::moduleHandler()->moduleExists($dependency) === false) {
$errorMessage = sprintf($translatorHelper->trans('commands.common.errors.module-dependency'), $dependency);
$messageHelper->showMessage($output, $errorMessage, 'error');
$event->disableCommand();
}
}
}
}
示例6: onConsoleCommand
/**
* @param ConsoleCommandEvent $event
*/
public function onConsoleCommand(ConsoleCommandEvent $event)
{
$command = $event->getCommand();
$input = $event->getInput();
if (in_array($command->getName(), $this->ignoredCommands)) {
$this->interactor->ignoreTransaction();
}
if ($this->newRelic->getName()) {
$this->interactor->setApplicationName($this->newRelic->getName(), $this->newRelic->getLicenseKey(), $this->newRelic->getXmit());
}
$this->interactor->setTransactionName($command->getName());
$this->interactor->enableBackgroundJob();
// send parameters to New Relic
foreach ($input->getOptions() as $key => $value) {
$key = '--' . $key;
if (is_array($value)) {
foreach ($value as $k => $v) {
$this->interactor->addCustomParameter($key . '[' . $k . ']', $v);
}
} else {
$this->interactor->addCustomParameter($key, $value);
}
}
foreach ($input->getArguments() as $key => $value) {
if (is_array($value)) {
foreach ($value as $k => $v) {
$this->interactor->addCustomParameter($key . '[' . $k . ']', $v);
}
} else {
$this->interactor->addCustomParameter($key, $value);
}
}
}
示例7: setDefaultValues
/**
* @param ConsoleCommandEvent $event
*/
public function setDefaultValues(ConsoleCommandEvent $event)
{
/** @var \Drupal\AppConsole\Command\Command $command */
$command = $event->getCommand();
/** @var \Drupal\AppConsole\Console\Application $command */
$application = $command->getApplication();
/** @var \Drupal\AppConsole\Config $config */
$config = $application->getConfig();
if (in_array($command->getName(), $this->skipCommands)) {
return;
}
$input = $command->getDefinition();
$options = $input->getOptions();
foreach ($options as $key => $option) {
$defaultOption = 'commands.' . str_replace(':', '.', $command->getName()) . '.options.' . $key;
$defaultValue = $config->get($defaultOption);
if ($defaultValue) {
$option->setDefault($defaultValue);
}
}
$arguments = $input->getArguments();
foreach ($arguments as $key => $argument) {
$defaultArgument = 'commands.' . str_replace(':', '.', $command->getName()) . '.arguments.' . $key;
$defaultValue = $config->get($defaultArgument);
if ($defaultValue) {
$argument->setDefault($defaultValue);
}
}
}
示例8: showGenerateDoc
/**
* @param ConsoleCommandEvent $event
* @return void
*/
public function showGenerateDoc(ConsoleCommandEvent $event)
{
/**
* @var \Drupal\Console\Command\Command $command
*/
$command = $event->getCommand();
/**
* @var \Drupal\Console\Console\Application $command
*/
$application = $command->getApplication();
/**
* @var \Drupal\Console\Config $config
*/
$config = $application->getConfig();
$input = $command->getDefinition();
$options = $input->getOptions();
$arguments = $input->getArguments();
if (isset($options['generate-doc']) && $options['generate-doc'] == 1) {
foreach ($this->skipOptions as $remove_option) {
unset($options[$remove_option]);
}
$parameters = ['options' => $options, 'arguments' => $arguments, 'command' => $command->getName(), 'description' => $command->getDescription(), 'aliases' => $command->getAliases()];
$renderedDoc = $application->getHelperSet()->get('renderer')->render('gitbook/generate-doc.md.twig', $parameters);
$output = $event->getOutput();
$output->writeln($renderedDoc);
$event->disableCommand();
}
}
示例9: registerMigrations
public function registerMigrations(ConsoleCommandEvent $event)
{
$command = $event->getCommand();
if (!$this->isMigrationCommand($command)) {
return;
}
$this->configuration->registerMigrationsFromDirectory($this->configuration->getMigrationsDirectory());
}
示例10: onConsoleCommand
/**
* @param ConsoleCommandEvent $event
*/
public function onConsoleCommand(ConsoleCommandEvent $event)
{
$command = $event->getCommand();
if ($this->registry->isChainedCommand($command)) {
$event->disableCommand();
$event->getOutput()->writeln('<error>Chained command should not be executed directly</error>');
}
}
示例11: onCronStart
/**
* @param ConsoleCommandEvent $event
*/
public function onCronStart(ConsoleCommandEvent $event)
{
if (!$this->isCronCommand($event->getCommand()->getName(), $event->getInput())) {
$this->skipped = true;
return;
}
$this->start = microtime(true);
}
示例12: setOutputWriter
public function setOutputWriter(ConsoleCommandEvent $event)
{
$command = $event->getCommand();
if (!$this->isMigrationCommand($command)) {
return;
}
$this->outputWriter->setConsoleOutput($event->getOutput());
}
示例13: onCommandStart
public function onCommandStart(ConsoleCommandEvent $event)
{
$command = $event->getCommand();
if (!in_array($command->getName(), $this->listenedCommands)) {
return;
}
$commandSlug = preg_replace('/[^a-zA-Z0-9_.]/', '', $command->getName());
$this->watcher->start($commandSlug);
}
示例14: initializeEventIo
/**
* @see getSubscribedEvents
*
* @param ConsoleCommandEvent $event
*/
public function initializeEventIo(ConsoleCommandEvent $event)
{
$set = $event->getCommand()->getHelperSet();
if (!$set->has(self::HELPER_NAME)) {
return;
}
/** @var $helper IoHelper */
$helper = $set->get(self::HELPER_NAME);
$helper->initializeIo($event->getInput(), $event->getOutput());
}
示例15: decorateDefinition
public function decorateDefinition(ConsoleCommandEvent $event)
{
$command = $event->getCommand();
if (!$command instanceof InitCommand) {
return;
}
$adapterName = $this->application->getConfig()->get('repo_adapter', Config::CONFIG_LOCAL, GitHelper::UNDEFINED_ADAPTER);
$issueTracker = $this->application->getConfig()->get('issue_tracker', Config::CONFIG_LOCAL, GitHelper::UNDEFINED_ADAPTER);
$command->addOption('repo-adapter', null, InputOption::VALUE_OPTIONAL, sprintf('Adapter-name of the repository-manager (%s)', $this->getSupportedAdapters(AdapterFactory::SUPPORT_REPOSITORY_MANAGER)), $adapterName)->addOption('issue-adapter', null, InputOption::VALUE_OPTIONAL, sprintf('Adapter-name of the issue-tracker (%s)', $this->getSupportedAdapters(AdapterFactory::SUPPORT_ISSUE_TRACKER)), $issueTracker)->addOption('org', 'o', InputOption::VALUE_REQUIRED, 'Name of the Git organization', $this->application->getConfig()->get('repo_org', Config::CONFIG_LOCAL, GitHelper::UNDEFINED_ORG))->addOption('repo', 'r', InputOption::VALUE_REQUIRED, 'Name of the Git repository', $this->application->getConfig()->get('repo_name', Config::CONFIG_LOCAL, GitHelper::UNDEFINED_REPO))->addOption('issue-org', 'io', InputOption::VALUE_REQUIRED, 'Name of the issue-tracker organization', $this->application->getConfig()->getFirstNotNull(['issue_project_org', 'repo_org'], Config::CONFIG_LOCAL, GitHelper::UNDEFINED_ORG))->addOption('issue-project', 'ip', InputOption::VALUE_REQUIRED, 'Repository/Project name of the issue-tracker', $this->application->getConfig()->getFirstNotNull(['issue_project', 'repo_name'], Config::CONFIG_LOCAL, GitHelper::UNDEFINED_REPO));
}