public function describeExtension(Extension $ext) { $info = array('Name' => $ext->getExtensionName(), 'Source Directory' => $ext->getSourceDirectory(), 'Config' => $ext->getConfigM4Path(), 'INI File' => $ext->getConfigFilePath(), 'Extension' => $ext instanceof PeclExtension ? 'Pecl' : 'Core', 'Zend' => $ext->isZend() ? 'yes' : 'no', 'Loaded' => extension_loaded($ext->getExtensionName()) ? $this->formatter->format('yes', 'green') : $this->formatter->format('no', 'red')); foreach ($info as $label => $val) { $this->logger->writeln(sprintf('%20s: %s', $label, $val)); } $options = $ext->getConfigureOptions(); if (!empty($options)) { $this->logger->newline(); $this->logger->writeln(sprintf('%20s: ', 'Configure Options')); $this->logger->newline(); foreach ($options as $option) { $this->logger->writeln(sprintf(' %-32s %s', $option->option . ($option->valueHint ? '[=' . $option->valueHint . ']' : ''), $option->desc)); $this->logger->newline(); } } }
/** * Disables ini file for current extension * @return boolean */ public function disableExtension(Extension $ext) { $name = $ext->getExtensionName(); $enabled_file = $ext->getConfigFilePath(); $disabled_file = $enabled_file . '.disabled'; if (file_exists($disabled_file)) { $this->logger->info("[ ] {$name} extension is already disabled."); return true; } if (file_exists($enabled_file)) { if (rename($enabled_file, $disabled_file)) { $this->logger->info("[ ] {$name} extension is disabled."); return true; } $this->logger->warning("failed to disable {$name} extension."); } return false; }