signature = $this->signature . ' {source} {result} {--unn=}'; parent::__construct(); } public function __get($get) { if ($get == 'data') { return $this->prepareRaw(); } else { return null; } } private function prepareInput() { $source_file = base_path() . '/../temp/' . $this->argument('source'); $data = parse_ini_file($source_file); if(isset($data['raw_result'])) { unset($data['raw_result']); } return $data; } private function prepareOutput() { $source_file = base_path() . '/../temp/' . $this->argument('source'); $data = parse_ini_file($source_file); if(isset($data['raw_result'])) { return json_decode(base64_decode($data['raw_result']), true); } return null; } public function save($result) { $result_file = base_path() . '/../temp/' . $this->argument('result'); file_put_contents($result_file, json_encode($result)); } public function initDB() { $code = $this->option('unn'); DB::disconnect('mysql'); Config::set('database.connections.mysql.database', $code); DB::reconnect(); } public function handle() { $input = $this->prepareInput(); $output = $this->prepareOutput(); try { $this->initDB(); $result = $this->command($input, $output); } catch (\Exception $e) { $result = [ 'status' => 'error', 'message' => $e->getMessage() ]; } $this->save($result); } }