addOption('message', 'm', InputOption::VALUE_OPTIONAL, 'A mensagem a ser exibida durante a manutenção', 'O sistema está em manutenção.') ->addOption('retry', 'r', InputOption::VALUE_OPTIONAL, 'O tempo estimado para o retorno'); } protected function execute(InputInterface $input, OutputInterface $output): int { $directory = dirname(__DIR__, 3) . '/storage/framework'; if (!is_dir($directory)) { mkdir($directory, 0755, true); } $downFile = $directory . '/down'; if (file_exists($downFile)) { $output->writeln('A aplicação já está em modo de manutenção.'); return Command::SUCCESS; } $payload = [ 'time' => time(), 'message' => $input->getOption('message'), 'retry' => $input->getOption('retry'), ]; if (file_put_contents($downFile, json_encode($payload, JSON_PRETTY_PRINT))) { $output->writeln('Aplicação agora está em modo de manutenção.'); return Command::SUCCESS; } $output->writeln('Falha ao colocar a aplicação em modo de manutenção.'); return Command::FAILURE; } }