| author | durandn |
| Thu, 10 Sep 2015 15:47:00 +0200 | |
| changeset 120 | 93af8545dd96 |
| parent 8 | 5a0cbbe0922a |
| permissions | -rw-r--r-- |
<?php namespace Laravel\Homestead; use Symfony\Component\Process\Process; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; class EditCommand extends Command { /** * Configure the command options. * * @return void */ protected function configure() { $this->setName('edit') ->setDescription('Edit the Homestead.yaml file'); } /** * Execute the command. * * @param \Symfony\Component\Console\Input\InputInterface $input * @param \Symfony\Component\Console\Output\OutputInterface $output * @return void */ public function execute(InputInterface $input, OutputInterface $output) { $command = $this->executable().' '.homestead_path().'/Homestead.yaml'; $process = new Process($command, realpath(__DIR__.'/../'), array_merge($_SERVER, $_ENV), null, null); $process->run(function($type, $line) use ($output) { $output->write($line); }); } /** * Find the correct executable to run depending on the OS. * * @return string */ protected function executable() { if (strpos(strtoupper(PHP_OS), 'WIN') === 0) { return 'start'; } elseif (strpos(strtoupper(PHP_OS), 'DARWIN') === 0) { return 'open'; } return 'xdg-open'; } }