Laravel8で定数を切り出して別ファイルから呼び出す方法を知りたい人向けの記事です。
はじめに
Laravelで定数を外ファイルに書き出して
コントローラーで読んでみる方法を手順に起こしてみました。
LaravelのPJファイルを作ったばかりの状態からの説明です。
やること
- config/const.phpを作成し定数の定義を書く
- TestController.phpを作成しconfig/const.phpに書いた定数を呼び出す
- TestControllerにアクセスできるようRouteの設定を行う
- Cacheのクリア
- ブラウザからアクセス
詳細手順
1.config/const.phpを作成し定数の定義を書く
config/const.phpファイルを作成
定数を定義を書く
2.TestController.phpの作成
PJ直下のディレクトリで以下のコマンドを打つ
php artisan make:controller TestController
↓このコメントが出てくればOK
#Controller created successfully.
Http/Controller以下にTestController.phpというファイルが作成されています
TestControllerに先ほど定義した定数を呼び出してみます
これはとりあえず外からこのコントローラー、処理を呼び出すのに必要なのでまず追記
このfunctionに定数を呼び出す処理を書きます
public function index() {
}
これでController側の設定は終わり
3.TestControllerにアクセスできるようRouteの設定を行う
今回はブラウザからアクセスするので
routes/web.phpに手を入れます
4行目でこんな感じで先ほど作ったTestControllerを使う宣言をします
use App\Http\Controllers\TestController;
それが終わったら17行目のように/Testでアクセスしたら先ほど作ったTestContollerのindex()を呼び出すように設定します。
4.Cacheのクリアをします
Cacheのクリアをしないと定数定義前の状態のファイルが読み込まれるためうまく定義したものが表示されません
PJフォルダー直下でこのコマンドを打てばキャッシュがクリア、先程定義したファイルが上書きされます
php artisan config:cache
#Configuration cache cleared!
#Configuration cached successfully!
5.ブラウザからアクセス
http://localhost:8001/Test
レイアウトはともかく・・表示されました!!
ちなみにPort番号が8001なのはデフォルトの8000を別PJで使っているからなのでLaravel起動した時のログを見てPort番号を確認してください
ポート番号8000の人は
http://localhost:8000/Testでつながると思います
コメント