* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Flarum\Console; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; abstract class AbstractCommand extends Command { /** * @var InputInterface */ protected $input; /** * @var OutputInterface */ protected $output; /** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $this->input = $input; $this->output = $output; $this->fire(); } /** * Fire the command. */ abstract protected function fire(); /** * Did the user pass the given option? * * @param string $name * @return bool */ protected function hasOption($name) { return $this->input->hasOption($name); } /** * Send an info string to the user. * * @param string $string */ protected function info($string) { $this->output->writeln("$string"); } }