0

解決したい興味深い問題があります。Laravelには「メンテナンスモード」が組み込まれておりphp artisan down、アプリケーションのルートフォルダーで呼び出すことでアクティブ化できます。app/start/global.php には、ビューまたは応答を割り当てることができる設定があります。私のアプリケーションでは、これを行っています:

App::down(function()
{
  // ETA Format: YYYY-MM-DD HH-MM-SS. Leave as "" to pass indeterminate time.
  return View::make("maintenance", array("code" => 503, 
  "message" => "Service Unavailable", 
  "eta" => "2014-11-07 13:30:00"));
});

これにより、きれいな「すぐに戻ってきます」という画面が表示され、ステータス メッセージと完了までの推定時間が表示されます。ビューに渡されるいくつかのパラメーターをハードコードしたことに注意してください。

code -> The http status code I want displayed
message -> A message about the nature of the disruption
eta -> A timestamp of the estimated completion time

私が疑問に思っているのは、php artisan downいくつかのパラメーターを渡すことができる場所を変更できる方法はありますか? たとえば、次のようなことを試してみたいと思います。

php artisan down --eta="2014-11-07 13:30:00" --code="503"

したがって、アプリをメンテナンス モードにするたびにこれらのパラメーターを手動でコーディングする必要はありません。職人のコマンドの作成に関するLaravelのドキュメントを読みましたが、既存のコマンドの変更、またはそれらの複製と機能の追加に関するドキュメントはありません。

誰かがこれについて何か洞察を持っているなら、私に知らせてください。

4

1 に答える 1

1

これらのオプションをファイルに書き込み、laravel down コマンドを内部的に呼び出す新しいコマンド (app:down など) を作成してみてください。

public function fire() {
    $data = json_encode($this->option());
    file_put_contents('/tmp/down.txt', $data);
    $this->call('down');
}

次に、ビューコードでそれらを選択できます...

    $data = json_decode(file_get_contents('/tmp/down.txt'), true);
    return View::make('maintenance', $data);
于 2014-11-07T16:31:30.340 に答える