Laravelで秘匿情報を書く場所/使い方

TwitterBotを作成するときに、TwitterAPIのKEYをどこに記述するかについてまとめました。

導入

Laravelでは、DBのホストIPや接続用パスワードなどを記述する場所が用意されています。(厳密には環境ごとに異なる設定を書く場所ですが)

それはLaravelのプロジェクトファイルのルートディレクトリにある、『.env』というファイルになります。

(【.envがない場合】)

.env.example が同階層に存在していると思います。これを同階層にコピーして .env と名前を変更して使用しましょう。

 

実装方法

今回私はTwitterのAPIを使用したかったので、以下の

  • consumer_key (TWITTER_API_KEY)
  • consumer_secret (TWITTER_API_SECRET)
  • access_token (TWITTER_ACCESS_TOKEN)
  • access_secret (TWITTER_ACCESS_TOKEN_SECRET)

の4つの文字列の秘匿情報を記述します。

手順としては、以下の3つです。

  1. .env に記述
  2. config ファイルに記述
  3. 使用したい場所でconfig ファイルを読み込む

 

 

1. .env に記述

最初の手順として、.envに以下のように追記します。

 

 

2. config ファイルに記述

実は 1. 完了時点で、.envに書いた秘匿情報をController等で使用することが可能です。しかし、あまりスマートではない気がするので私は一度Config経由で使用します。

configファイルの場所は、

(projectのルート) / config / 〇〇.php

となります。

初期状態で既にapp.php や session.php などのconfigファイルが存在していると思います。

今回はtwitterのAPI関連で使用する configファイル twitter.php を新規作成してみました。

 

.env に書いた秘匿情報は env( ) 関数を使用して取得することができます。(4~7行目)

他に、Twitter関連の設定(つぶやき文言、フォント指定など)をここに書き連ねています。

秘匿情報を取得するために本当に必要なのは、return後の4行だけです。

 

 

3. 使用したい場所で config ファイルを読み込む

 

続いて、この秘匿情報を取得する方法ですが、使いたい場所(CommandやController、ModelやViewのどこでもOK) で以下のように記述します。

 

まずは、Configを読み込むためのライブラリクラスを読み込みます。

Configで設定したものを取得する場合には Config::get(‘ [作成したconfigファイルの名前] ‘) で、設定値の連想配列が帰ってきます。

 

以上です。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です