コード例 #1
0
ファイル: Base.php プロジェクト: tedivm/spark
 public function getOptionConfigs()
 {
     $options = $this->options;
     $plugins = PluginManager::getPluginList();
     if (is_array($this->metaDoc) && isset($this->metaDoc['options'])) {
         $rawOptions = $this->metaDoc['options'];
     } else {
         $rawOptions = array();
     }
     foreach ($plugins as $plugin) {
         $pluginItem = PluginManager::getPluginObject($plugin);
         $pluginOptions = $pluginItem->getCommandOptions($this->classname);
         $rawOptions = array_merge_recursive($rawOptions, $pluginOptions);
     }
     foreach ($rawOptions as $metaOption) {
         // See if it allows input
         if (isset($metaOption['input']) && $metaOption['input'] === true) {
             // Defaults to optional if not set.
             if (isset($metaOption['required']) && $metaOption['required'] === true) {
                 $mode = InputOption::VALUE_REQUIRED;
             } else {
                 $mode = InputOption::VALUE_OPTIONAL;
             }
             // Defaults to single value
             if (isset($metaOption['array']) && $metaOption['array'] === true) {
                 $mode = $mode | InputOption::VALUE_IS_ARRAY;
             }
         } else {
             $mode = InputOption::VALUE_NONE;
         }
         $options[] = array($metaOption['name'], isset($metaOption['shortcut']) ? $metaOption['shortcut'] : null, $mode, isset($metaOption['description']) ? $metaOption['description'] : '', isset($metaOption['default']) ? $metaOption['default'] : null);
     }
     return $options;
 }
コード例 #2
0
ファイル: Package.php プロジェクト: tedivm/spark
 public function __construct($packageName)
 {
     $this->name = $packageName;
     $packageInfo = new PackageInfo($this->name);
     $this->plugins = $packageInfo->getPlugins();
     foreach ($this->plugins as $plugin) {
         $this->pluginObjects[$plugin] = PluginManager::getPluginObject($plugin);
     }
 }
コード例 #3
0
ファイル: Show.php プロジェクト: tedivm/spark
 protected function outputPluginSummary(InputInterface $input, OutputInterface $output)
 {
     $name = $input->getArgument('name');
     $plugin = PluginManager::getPluginObject($name);
     $config = $plugin->getDescription();
     $output->writeln($name);
     if (isset($config['description'])) {
         $output->writeln($config['description']);
     }
 }