スタートファイルを利用した実行環境の決定


environment artisan configuration

 悩み事

特定の環境で実行する必要があるスタートコードがある場合

環境毎の設定方法を理解していますが特別なコードを実行する必要があります

 解決方法

環境固有のスタートファイルを作成します

仮に、現在の環境がfooと指定されているとしましょう
その場合はapp/start/foo.phpとして作成します

<?php
die("I'm in app/start/foo.php");

foo環境の場合、リクエストの度に"I'm in app/start/foo.php"が表示されて終了します

最初にLaravelはapp/start/global.phpをロードします
その後、利用環境がfooであれば、app/start/foo.phpの存在を確認し、
ファイルが見つかればそのファイルが実行されます

 アドバイス

他のスタートファイルについて

Laravelではapp/start/local.phpに空のファイルを設置してあるのをご存知でしょうか?

artisanの実行時にapp/start/artisan.phpファイルがロードされます
一般的には、実装したartisanコマンドなどの登録に利用されます

ユニットテスト時にロードしたい場合は、app/start/testing.phpを作成するだけです

これらのファイルはいつロードされますか?

リクエストのライフサイクル内で、フレームワークの起動後にロードされます リクエストのライフサイクルについて理解する 起動手順の Calls booted callbacks をご覧ください


Author:Chuck Heintzelman

Editor and Translator:Yuuki Takezawa