本文整理汇总了PHP中Symfony\Component\Console\Input\InputInterface::setInteractive方法的典型用法代码示例。如果您正苦于以下问题:PHP InputInterface::setInteractive方法的具体用法?PHP InputInterface::setInteractive怎么用?PHP InputInterface::setInteractive使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Console\Input\InputInterface
的用法示例。
在下文中一共展示了InputInterface::setInteractive方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
protected function execute(InputInterface $input, OutputInterface $output)
{
$input->setInteractive(TRUE);
$filter = $input->getOption('filter');
$dialog = $this->getHelper("dialog");
/* @var $dialog DialogHelper */
#@note @silex commande interactive
if (!$dialog->askConfirmation($output, "Confirm database managed entities deletion(yes|no):")) {
return 1;
}
$app = $this->getHelper("app")->getApplication();
$registry = $app['orm.manager_registry'];
/* @var $registry AbstractManagerRegistry */
$managers = $registry->getManagers();
foreach ($managers as $manager) {
/* @var $manager EntityManager */
$metadatas = $manager->getMetadataFactory()->getAllMetadata();
foreach ($metadatas as $metadata) {
/* @var $metadata ClassMetadata */
if (!$metadata->isMappedSuperclass) {
$class = $metadata->getName();
if ($filter == NULL || in_array($class, $filter)) {
$entities = $manager->getRepository($class)->findAll();
foreach ($entities as $entity) {
$manager->remove($entity);
}
$output->writeln($class . " datas have been removed.");
}
}
}
$manager->flush();
}
}
示例2: enableInteractivity
/**
* Enables script interactivity.
*
* @return self
*/
public function enableInteractivity(InputInterface $input, QuestionHelper $helper)
{
$input->setInteractive(true);
$this->interactive = true;
$this->input = $input;
$this->helper = $helper;
return $this;
}
示例3: execute
protected function execute(InputInterface $input, OutputInterface $output)
{
$input->setInteractive(false);
$command = $this->getApplication()->find('doctrine:schema:drop');
$command->run(new ArrayInput(array('command' => 'doctrine:schema:drop', '--force' => true)), $output);
$command = $this->getApplication()->find('doctrine:schema:create');
$command->run($input, $output);
$command = $this->getApplication()->find('doctrine:fixtures:load');
$command->run($input, $output);
}
示例4: doRun
/**
* {@inheritdoc}
*/
public function doRun(InputInterface $input, OutputInterface $output)
{
// Set the input to non-interactive if the yes or no options are used.
if ($input->hasParameterOption(array('--yes', '-y')) || $input->hasParameterOption(array('--no', '-n'))) {
$input->setInteractive(false);
} elseif ($input->hasParameterOption(array('--shell', '-s'))) {
$shell = new Shell($this);
$shell->run();
return 0;
}
$this->output = $output;
return parent::doRun($input, $output);
}
示例5: execute
/**
* @param \Symfony\Component\Console\Input\InputInterface $input
* @param \Symfony\Component\Console\Output\OutputInterface $output
* @return int
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
$userManager = $this->getUserManager();
$input->setInteractive(true);
$username = $this->getOptionalInteractiveArgument($input, $output, 'username', 'Please choose a username');
$email = $this->getOptionalInteractiveArgument($input, $output, 'email', 'Please choose an email address');
$password = $this->getOptionalInteractiveArgument($input, $output, 'password', 'Please choose a password', true);
$roleString = $this->getOptionalInteractiveOption($input, $output, 'roles', 'Please specify a comma-separated list of roles');
$roles = explode(',', $roleString);
$userManager->createUser($username, $email, $password, $roles);
$output->writeln(sprintf('Created user <comment>%s</comment>', $username));
return 0;
}
示例6: execute
/**
* {@inheritdoc}
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
$verbose = $input->getOption('verbose');
$force = $input->getOption('force');
$package = $input->getArgument('package');
$doctrine = $this->getContainer()->get('doctrine');
$router = $this->getContainer()->get('router');
$flags = 0;
if ($package) {
$packages = array(array('id' => $doctrine->getRepository('PackagistWebBundle:Package')->findOneByName($package)->getId()));
$flags = Updater::UPDATE_TAGS;
} elseif ($force) {
$packages = $doctrine->getEntityManager()->getConnection()->fetchAll('SELECT id FROM package ORDER BY id ASC');
$flags = Updater::UPDATE_TAGS;
} else {
$packages = $doctrine->getRepository('PackagistWebBundle:Package')->getStalePackages();
}
$ids = array();
foreach ($packages as $package) {
$ids[] = $package['id'];
}
if ($input->getOption('delete-before')) {
$flags = Updater::DELETE_BEFORE;
}
$updater = $this->getContainer()->get('packagist.package_updater');
$start = new \DateTime();
$input->setInteractive(false);
$io = $verbose ? new ConsoleIO($input, $output, $this->getApplication()->getHelperSet()) : new NullIO();
$config = Factory::createConfig();
$loader = new ValidatingArrayLoader(new ArrayLoader());
while ($ids) {
$packages = $doctrine->getRepository('PackagistWebBundle:Package')->getPackagesWithVersions(array_splice($ids, 0, 50));
foreach ($packages as $package) {
if ($verbose) {
$output->writeln('Importing ' . $package->getRepository());
}
try {
$repository = new VcsRepository(array('url' => $package->getRepository()), $io, $config);
$repository->setLoader($loader);
$updater->update($package, $repository, $flags, $start);
} catch (\Exception $e) {
$output->writeln('<error>Exception: ' . $e->getMessage() . ' at ' . $e->getFile() . ':' . $e->getLine() . ', skipping package ' . $router->generate('view_package', array('name' => $package->getName()), true) . '</error>');
}
}
$doctrine->getEntityManager()->clear();
unset($packages);
}
}
示例7: execute
protected function execute(InputInterface $input, OutputInterface $output)
{
$from = $input->getArgument('from');
$targetList = $input->getArgument('to');
$input->setInteractive(!$input->getOption('force'));
$labelSynchronizer = new LabelSynchronizer($this->github, $input, $output);
$milestoneSynchronizer = new MilestoneSynchronizer($this->github, $input, $output);
foreach ($targetList as $to) {
$output->writeln(sprintf('<comment>Synchronizing labels from %s to %s</comment>', $from, $to));
$labelSynchronizer->synchronize($from, $to);
$output->writeln('');
$output->writeln(sprintf('<comment>Synchronizing milestones from %s to %s</comment>', $from, $to));
$milestoneSynchronizer->synchronize($from, $to);
$output->writeln('');
}
$output->writeln('<comment>Finished</comment>');
}
示例8: configureIO
/**
* Configures the input and output instances based on the user arguments and options.
*
* @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance
*/
protected function configureIO(InputInterface $input, OutputInterface $output)
{
if (true === $input->hasParameterOption(array('--ansi'))) {
$output->setDecorated(true);
} elseif (true === $input->hasParameterOption(array('--no-ansi'))) {
$output->setDecorated(false);
}
if (true === $input->hasParameterOption(array('--no-interaction', '-n'))) {
$input->setInteractive(false);
} elseif (function_exists('posix_isatty') && $this->getHelperSet()->has('dialog')) {
$inputStream = $this->getHelperSet()->get('dialog')->getInputStream();
if (!@posix_isatty($inputStream)) {
$input->setInteractive(false);
}
}
if (true === $input->hasParameterOption(array('--quiet', '-q'))) {
$output->setVerbosity(OutputInterface::VERBOSITY_QUIET);
} else {
if ($input->hasParameterOption('-vvv') || $input->hasParameterOption('--verbose=3') || $input->getParameterOption('--verbose') === 3) {
$output->setVerbosity(OutputInterface::VERBOSITY_DEBUG);
} elseif ($input->hasParameterOption('-vv') || $input->hasParameterOption('--verbose=2') || $input->getParameterOption('--verbose') === 2) {
$output->setVerbosity(OutputInterface::VERBOSITY_VERY_VERBOSE);
} elseif ($input->hasParameterOption('-v') || $input->hasParameterOption('--verbose=1') || $input->hasParameterOption('--verbose') || $input->getParameterOption('--verbose')) {
$output->setVerbosity(OutputInterface::VERBOSITY_VERBOSE);
}
}
}
示例9: execute
/**
* {@inheritdoc}
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
$verbose = $input->getOption('verbose');
$force = $input->getOption('force');
$package = $input->getArgument('package');
$doctrine = $this->getContainer()->get('doctrine');
$router = $this->getContainer()->get('router');
$flags = 0;
if ($package) {
$packages = array(array('id' => $doctrine->getRepository('PackagistWebBundle:Package')->findOneByName($package)->getId()));
$flags = $force ? Updater::UPDATE_EQUAL_REFS : 0;
} elseif ($force) {
$packages = $doctrine->getManager()->getConnection()->fetchAll('SELECT id FROM package ORDER BY id ASC');
$flags = Updater::UPDATE_EQUAL_REFS;
} else {
$packages = $doctrine->getRepository('PackagistWebBundle:Package')->getStalePackages();
}
$ids = array();
foreach ($packages as $package) {
$ids[] = $package['id'];
}
if ($input->getOption('delete-before')) {
$flags = Updater::DELETE_BEFORE;
} elseif ($input->getOption('update-equal-refs')) {
$flags = Updater::UPDATE_EQUAL_REFS;
}
$updater = $this->getContainer()->get('packagist.package_updater');
$start = new \DateTime();
if ($verbose && $input->getOption('notify-failures')) {
throw new \LogicException('Failures can not be notified in verbose mode since the output is piped to the CLI');
}
$input->setInteractive(false);
$config = Factory::createConfig();
$io = $verbose ? new ConsoleIO($input, $output, $this->getApplication()->getHelperSet()) : new BufferIO('');
$io->loadConfiguration($config);
$loader = new ValidatingArrayLoader(new ArrayLoader());
while ($ids) {
$packages = $doctrine->getRepository('PackagistWebBundle:Package')->getPackagesWithVersions(array_splice($ids, 0, 50));
foreach ($packages as $package) {
if ($verbose) {
$output->writeln('Importing ' . $package->getRepository());
}
try {
if (null === $io || $io instanceof BufferIO) {
$io = new BufferIO('');
$io->loadConfiguration($config);
}
$repository = new VcsRepository(array('url' => $package->getRepository()), $io, $config);
$repository->setLoader($loader);
$updater->update($io, $config, $package, $repository, $flags, $start);
} catch (InvalidRepositoryException $e) {
$output->writeln('<error>Broken repository in ' . $router->generate('view_package', array('name' => $package->getName()), true) . ': ' . $e->getMessage() . '</error>');
if ($input->getOption('notify-failures')) {
if (!$this->getContainer()->get('packagist.package_manager')->notifyUpdateFailure($package, $e, $io->getOutput())) {
$output->writeln('<error>Failed to notify maintainers</error>');
}
}
} catch (\Exception $e) {
$output->writeln('<error>Error updating ' . $router->generate('view_package', array('name' => $package->getName()), true) . ' [' . get_class($e) . ']: ' . $e->getMessage() . ' at ' . $e->getFile() . ':' . $e->getLine() . '</error>');
}
}
$doctrine->getManager()->clear();
unset($packages);
}
}
示例10: finalStep
protected function finalStep(InputInterface $input, OutputInterface $output)
{
$output->writeln('<info>Preparing application.</info>');
$input->setInteractive(false);
$this->runCommand('oro:search:create-index', $input, $output)->runCommand('oro:navigation:init', $input, $output)->runCommand('fos:js-routing:dump', $input, $output, array('--target' => 'web/js/routes.js'))->runCommand('oro:localization:dump', $input, $output)->runCommand('assets:install', $input, $output)->runCommand('assetic:dump', $input, $output)->runCommand('oro:assetic:dump', $input, $output)->runCommand('oro:translation:dump', $input, $output)->runCommand('oro:requirejs:build', $input, $output);
// update installed flag in parameters.yml
$dumper = $this->getContainer()->get('oro_installer.yaml_persister');
$params = $dumper->parse();
$params['system']['installed'] = date('c');
$dumper->dump($params);
// clear the cache set installed flag in DI container
$this->runCommand('cache:clear', $input, $output);
$output->writeln('');
return $this;
}
示例11: interact
/**
* {@inheritdoc}
*/
protected function interact(InputInterface $input, OutputInterface $output)
{
// Work around a bug in Console which means the default command's input
// is always considered to be interactive.
if ($this->getName() === 'welcome' && isset($GLOBALS['argv']) && array_intersect($GLOBALS['argv'], ['-n', '--no', '-y', '---yes'])) {
$input->setInteractive(false);
self::$interactive = false;
return;
}
$this->checkUpdates();
}
示例12: configureIO
/**
* Configures the input and output instances based on the user arguments and options.
*
* @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance
*/
protected function configureIO(InputInterface $input, OutputInterface $output)
{
if (true === $input->hasParameterOption(array('--ansi'), true)) {
$output->setDecorated(true);
} elseif (true === $input->hasParameterOption(array('--no-ansi'), true)) {
$output->setDecorated(false);
}
if (true === $input->hasParameterOption(array('--no-interaction', '-n'), true)) {
$input->setInteractive(false);
} elseif (function_exists('posix_isatty')) {
$inputStream = null;
if ($input instanceof StreamableInputInterface) {
$inputStream = $input->getStream();
}
// This check ensures that calling QuestionHelper::setInputStream() works
// To be removed in 4.0 (in the same time as QuestionHelper::setInputStream)
if (!$inputStream && $this->getHelperSet()->has('question')) {
$inputStream = $this->getHelperSet()->get('question')->getInputStream(false);
}
if (!@posix_isatty($inputStream) && false === getenv('SHELL_INTERACTIVE')) {
$input->setInteractive(false);
}
}
if (true === $input->hasParameterOption(array('--quiet', '-q'), true)) {
$output->setVerbosity(OutputInterface::VERBOSITY_QUIET);
$input->setInteractive(false);
} else {
if ($input->hasParameterOption('-vvv', true) || $input->hasParameterOption('--verbose=3', true) || $input->getParameterOption('--verbose', false, true) === 3) {
$output->setVerbosity(OutputInterface::VERBOSITY_DEBUG);
} elseif ($input->hasParameterOption('-vv', true) || $input->hasParameterOption('--verbose=2', true) || $input->getParameterOption('--verbose', false, true) === 2) {
$output->setVerbosity(OutputInterface::VERBOSITY_VERY_VERBOSE);
} elseif ($input->hasParameterOption('-v', true) || $input->hasParameterOption('--verbose=1', true) || $input->hasParameterOption('--verbose', true) || $input->getParameterOption('--verbose', false, true)) {
$output->setVerbosity(OutputInterface::VERBOSITY_VERBOSE);
}
}
}
示例13: doRun
/**
* Runs the current application.
*
* @param InputInterface $input An Input instance
* @param OutputInterface $output An Output instance
*
* @return int 0 if everything went fine, or an error code
*/
public function doRun(InputInterface $input, OutputInterface $output)
{
if (50302 > PHP_VERSION_ID) {
$output->writeln('<caution>Slicer only officially supports PHP 5.3.2 and above, you will most likely encounter problems with your PHP ' . PHP_VERSION . ', upgrading is strongly recommended.</caution>');
}
if (defined('SLICER_DEV_WARNING_TIME')) {
//$commandName = 'self-update';
}
if (getenv('SLICER_NO_INTERACTION')) {
$input->setInteractive(FALSE);
}
// switch to working dir
if ($newWorkingDir = $this->getNewWorkingDir($input)) {
$oldWorkingDir = getcwd();
chdir($newWorkingDir);
// if ( $this->getIO()->isDebug() >= 4 )
// {
// $this->getIO()->writeError( 'Changed CWD to ' . getcwd() );
// }
}
if ($input->hasParameterOption('--profile')) {
$startTime = microtime(TRUE);
//$this->io->enableDebugging( $startTime );
}
$result = parent::doRun($input, $output);
if (isset($oldWorkingDir)) {
chdir($oldWorkingDir);
}
if (isset($startTime)) {
$output->writeln('<info>Memory usage: ' . round(memory_get_usage() / 1024 / 1024, 2) . 'MB (peak: ' . round(memory_get_peak_usage() / 1024 / 1024, 2) . 'MB), time: ' . round(microtime(TRUE) - $startTime, 2) . 's</info>');
}
return $result;
}
示例14: execute
protected function execute(InputInterface $input, OutputInterface $output)
{
$this->output = $output;
$items = array('progress', 'table', 'formatter', 'dialog');
$sel = $this->getHelper('dialog')->select($output, 'Select by key number: ', $items, '0');
$formatter = $this->getHelper('formatter');
switch ($items[$sel]) {
case 'progress':
$formatted = $formatter->formatBlock('Progress', 'info', true);
$output->writeln($formatted);
$progress = $this->getHelper('progress');
$progress->start($output, 25);
$i = 0;
while ($i++ < 25) {
usleep(50000);
$progress->advance();
}
$progress->finish();
break;
case 'table':
$formatted = $formatter->formatBlock('Table', 'info', true);
$output->writeln($formatted);
$table = $this->getHelper('table');
$table->setHeaders(array('1', '2', '3'))->setRows(array(array('a', 'a', 'a'), array('b', 'b', 'b'), array('c', 'c', 'c')))->setLayout($table::LAYOUT_DEFAULT);
$table->render($output);
break;
case 'formatter':
//$formatter = $this->getHelper('formatter');
$formatted = $formatter->formatBlock('Formatter', 'info', true);
$output->writeln($formatted);
$formatted = $formatter->formatSection('Info', 'Format section info text.');
$output->writeln($formatted);
$output->writeln('');
$array = array('Format block error', 'Foo bar baz qux');
array_walk($array, function (&$v, $k) {
$v = '* ' . $v;
});
$formatted = $formatter->formatBlock($array, 'error');
$output->writeln($formatted);
$output->writeln('');
$formatted = $formatter->formatBlock('Format block error with space', 'error', true);
$output->writeln($formatted);
$output->writeln('');
$formatted = $formatter->formatBlock('Format block info with space', 'info', true);
$output->writeln($formatted);
break;
case 'dialog':
$dialog = $this->getHelper('dialog');
$formatted = $formatter->formatBlock('Dialog', 'info', true);
$output->writeln($formatted);
$opts = array('ask', 'autocomplete', 'hidden', 'confirm', 'validator', 'shy');
$sel = $dialog->select($output, 'Which dialog would you like to demo?', $opts, '0');
$formatted = $formatter->formatBlock(ucfirst($opts[$sel]), 'info', true);
$output->writeln($formatted);
switch ($opts[$sel]) {
case 'ask':
$time = $dialog->ask($output, 'What time is it? ', '2PM');
$output->writeln("The time now is {$time}.");
break;
case 'autocomplete':
$bundles = array('AcmeDemoBundle', 'AsseticBundle', 'SecurityBundle', 'FooBundle');
$selection = $dialog->ask($output, 'Please select a bundle: ', 'FrameworkBundle', $bundles);
$output->writeln("You selected {$selection}");
break;
case 'hidden':
$response = $dialog->askHiddenResponse($output, 'What time is it? ');
$output->writeln("The time now is {$response}");
break;
case 'confirm':
$confirm = $dialog->askConfirmation($output, 'Do you like French fries? ', true);
if ($confirm) {
$output->writeln('You like French fries.');
} else {
$output->writeln('You do not like French fries.');
}
break;
case 'validator':
$question = 'What color was the white horse of Henry IV? ';
$error = 'This is not a color!';
$validator = function ($color) use($error) {
if (!in_array($color, array('white', 'black'))) {
throw new \InvalidArgumentException($error);
}
return $color;
};
try {
$answer = $dialog->askAndValidate($output, $question, $validator, 3, 'white');
$output->writeln("You answered {$answer}");
} catch (\InvalidArgumentException $e) {
$output->writeln(sprintf('<error>fail</error> %s', 'Only 3 chances to answer correctly.'));
$output->writeln(sprintf('<info>message</info> %s', $e->getMessage()));
}
break;
case 'shy':
$input->setInteractive(false);
$dialog->setInput($input);
$dialog->ask($output, 'Do you have a job? ', 'not yet');
break;
}
break;
//.........这里部分代码省略.........
示例15: finalStep
/**
* @param CommandExecutor $commandExecutor
* @param InputInterface $input
* @param OutputInterface $output
* @return InstallCommand
*/
protected function finalStep(CommandExecutor $commandExecutor, InputInterface $input, OutputInterface $output)
{
$output->writeln('<info>Preparing application.</info>');
$input->setInteractive(false);
$commandExecutor->runCommand('assets:install', array('target' => './', '--symlink' => true, '--relative' => true))->runCommand('assetic:dump', array('--process-isolation' => true));
// run installer scripts
$this->processInstallerScripts($output, $commandExecutor);
$this->updateInstalledFlag(date('c'));
// clear the cache set installed flag in DI container
$commandExecutor->runCommand('cache:clear', array('--process-isolation' => true));
$output->writeln('');
return $this;
}