當前位置: 首頁>>代碼示例>>PHP>>正文


PHP InputInterface::getOptions方法代碼示例

本文整理匯總了PHP中Symfony\Components\Console\Input\InputInterface::getOptions方法的典型用法代碼示例。如果您正苦於以下問題:PHP InputInterface::getOptions方法的具體用法?PHP InputInterface::getOptions怎麽用?PHP InputInterface::getOptions使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Symfony\Components\Console\Input\InputInterface的用法示例。


在下文中一共展示了InputInterface::getOptions方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: execute

 /**
  * @see Command
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $options = $input->getOptions();
     $ask = function ($what, $default = null, $values = array()) {
         while (true) {
             $q = "\n" . $what;
             if ($default !== null) {
                 $q .= " [{$default}]: ";
             } else {
                 $q .= ": ";
             }
             $v = readline($q);
             if (!empty($values)) {
                 if (in_array($v, $values)) {
                     return $v;
                 }
             } else {
                 if ($v !== '') {
                     return $v;
                 }
             }
             if ($default !== null) {
                 return $default;
             }
         }
     };
     foreach ($options as $key => &$value) {
         if (!$value) {
             switch ($key) {
                 case 'ip':
                     $ip = $this->application->getController()->findFreeIp();
                     if (!$ip) {
                         throw new \Exception('No free ip left');
                     }
                     $options[$key] = $ask('IP', $ip);
                     break;
                 case 'template':
                     $default = $this->application->getController()->getConfig('general', 'default_template');
                     $templates = $this->application->getController()->getTemplates();
                     $templates_rev = array_flip($templates);
                     $what = "Select template\n";
                     foreach ($templates as $key => $value) {
                         $what .= " {$key}) {$value}\n";
                     }
                     $what .= 'Template';
                     $default_idx = isset($templates_rev[$default]) ? $templates_rev[$default] : null;
                     $i = (int) $ask($what, $default_idx, $templates_rev);
                     $options[$key] = $templates[$i];
                     break;
                 case 'name':
                     $options[$key] = $ask('Name');
                     break;
                 default:
                     break;
             }
         }
     }
     $this->application->getController()->create($options, function ($message) {
         echo \Console_Color::convert(" %g>>%n ") . $message . "\n";
     });
 }
開發者ID:KernelMadness,項目名稱:ContainerKit,代碼行數:64,代碼來源:CreateCommand.php


注:本文中的Symfony\Components\Console\Input\InputInterface::getOptions方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。