/** * This method will be called if this command is triggered * * @param ArgumentsContainer $arguments * * @return mixed */ public function execute(ArgumentsContainer $arguments) { if ($arguments->getOption('daemon')) { if (!ServerHelper::isRunning()) { Exec::viaPipe('bin/thinframe server start > /dev/null 2>&1 &', KARMA_ROOT); sleep(2); } if (ServerHelper::isRunning()) { $this->outputDriver->send('[success]Server is listening at {host}:{port}[/success]' . PHP_EOL, ['host' => $this->server->getHost(), 'port' => $this->server->getPort()]); exit(0); } else { $this->outputDriver->send('[error]Failed to start server[/error]' . PHP_EOL, [], true); exit(1); } } $this->dispatcher->trigger(new SimpleEvent('thinframe.server.pre_start')); $this->outputDriver->send('[success]Server will start listening at {host}:{port}[/success]' . PHP_EOL, ['host' => $this->server->getHost(), 'port' => $this->server->getPort()]); ServerHelper::savePID(); $this->server->start(); }
/** * Constructor * * @param ArgumentsContainer $argumentsContainer */ public function __construct(ArgumentsContainer $argumentsContainer) { $this->argumentsContainer = $argumentsContainer; $this->arguments = $argumentsContainer->getArguments(); $this->currentIndex = $argumentsContainer->getOption('current') - 1; }