皆さんこんにちは!
3日前くらいに書いた記事(初心者必見!固定値(キー、URLなど)は.envファイルに書いて再利用しよう!!)が中々好評だったので、改めてenvファイルについて書いていこうと思いました。
前回書いた記事では、Vue.jsでenvファイルの使用方法を書きました。
今回はタイトルにも書いてる通り、「Laravel」偏です。
今一度、envファイルについて説明しようと思います。
知っている方は、スルーで結構です。
Javascriptでバックエンドとやり取りを行うとき、恐らく多くの方が以下のように書かれると思います。
axios.get('http://127.0.0.1')
ここで問題なのが、これを実際にサーバーにアップロードする時って、http://127.0.0.1のようなローカルホストとは接続を行いませんよね?
また、その都度バックエンドのURLをコピーしてくるのもナンセンス。
そんなこんなで出てくるのがenvファイル!!
・一度値を設定してしまえば、使いまわしOK!
・シークレットキーなどのセキュリティ面でも活躍!(ファイルに直接キーを入力するのは、githubにあげるときに見られてしまうため)
・ローカルと本番環境の使い分けができる!(今回はここはやりません)
こんなに魅力的なんです!
まぁ話はこの辺にしておいて、当然の如くVue.jsとLaravelではやり方が違うので、使い方を一緒に見ていきましょう!
envファイルに定数を設定#
プロジェクト直下に.envというファイル名があると思うので、それを開いてみてください。
そしたら、以下を例に値を設定して見て下さい。
RECAPTCHA_SECRET_KEY = 'ciascihsiachuhewurvuvurw'
定数名は、自分で分かりやすいように設定してください!
configファイルで値の設定#
次に、configディレクトリを開き、app.phpを開いてください。
Vue.jsでは.envファイルに記述して終わりだったのですが、Laravelでは.envファイルを読み込まない設定なので、configで設定します。
'RECAPTCHA_SECRET_KEY' => env('RECAPTCHA_SECRET_KEY')
先ほどenvファイルで設定した名前をenv(name)で呼び出し、'RECAPTCHA_SECRET_KEY'のように適当に名前を付けて下さい!
呼び出し#
最後に、ここで設定した値を呼び出します。
の前に、いったんキャッシュを消去します。
コマンドプロンプトにて、以下のコマンドをうちます
php artisan config:cache
最後に呼び出していきます。
$secret = config('app.RECAPTCHA_SECRET_KEY');
このapp.は何かというと、configディレクトリのapp.phpのRECAPTCHA_SECRET_KEYを呼び出すという意味です。
このようにして、固定値を呼び出すことができます。
いかがだったでしょうか?
簡単かつ作業効率もあがるのでぜひこの機会にガンガン使ってください!!
以上、「初心者必見!固定値(キー、URLなど)は.envファイルに書いて再利用しよう!!(Laravel偏)」でした!
良ければ、LGTM、コメントお願いします。
また、何か間違っていることがあればご指摘頂けると幸いです。
他にも毎日初心者さん向けに記事を投稿しているので、時間があれば他の記事も見て下さい!!
Thank you for reading