アプリケーションが起動されているかどうかを判定する


 悩み事

アプリケーションが起動されているかどうかを判定したい

 解決方法

App::isBooted()メソッドが利用できます

// サービスプロバイダーで記述すると良いかもしれません
if (\App::isBooted()) {
    // 起動したら処理するものを書きましょう
}

 アドバイス

起動の判定はローレベルで行われます

リクエスト処理の前にbootedが割り当てられ、実行されます
app/start/global.phpapp/routes.phpまたは、
app/filters.phpがロードされる前に起動されます
(これらのファイルは、bootedのコールバック内でロードされます)

アプリケーションの起動は3つのステップから成り立っています:

  1. "booting"で登録した処理がコールバックされる
  2. "起動した"と扱われます
  3. "booted"で登録した処理がコールバックされる

したがって、確実に実装するにはApp::isBooted()を利用したり、
"booting"、または "booted"コールバックか、
サービスプロバイダ内に実装しましょう


Author:Chuck Heintzelman

Editor and Translator:Yuuki Takezawa