実践Laravel 基本編3 設定1

Posted: 2014-05-28 00:12 |  laravel 

■設定ファイルの置き場所

ルーターだけで動く事がわかれば、次はフレームワークの設定を見てみます。
laravelの設定(config)ファイルは、/app/config配下になります。
各機能ごとにファイルがありますので、細かい設定や、
独自の設定ファイル等を設置する事も可能です。
ほとんどの設定ファイルはアプリケーションが自動で取得して実行しますが、
実装時に任意で取得したい場合があれば、
\Config::get('ファイル名.キー');
で取得する事ができます。
ファイル名だけにすれば、配列で中身が取得できます。
取得したい配列要素等、ドットつなぎにする事で内部で変換されますので、
記述方法が簡単になります。
また、config配下に独自に設置したファイルも
\Config::get('任意のファイル.何か')
と同様に取得可能です。
Laravelのこの独特の記述方法(\Config::get('')など)はまた別の機会で記述します。
設定の取得方法がわかったところで、
疑問に思うのが環境ごとに設定が異なる場合の取得方法です。
これはcodeigniterやfuelPHP等と同じようにシンプルに切り替えが可能です。

■環境毎の設定ファイル

環境の切り替えで必要なものは、デフォルトで用意されているものは
稼働させるサーバのhostname だけです
bootstrap/start.php
 

$env = $app->detectEnvironment(array(
    'local' => array('your-machine-name'),
));
で指定します。 現在お使いのPCのhostnameを取得して、
"your-machine-name"を取得したhostnameに変えてみてください。
これでapp/config/local 配下に競っていファイルがあればそれを使用するようになります。
app/config/app.phpをそのままコピーして使っていただいても構いませんが、
app.phpの一部だけ変更したい場合は、その配列のキーと値を記述するだけです。
例えば、timezoneと開発時にdebugを出力したければ、
app/config/local/app.phpには以下のように記述するだけとなります。
return [
    'debug' => true,
    'timezone' => 'Asia/Tokyo',
];
またlocalではなく、developmentというフォルダにしたい場合は、
$env = $app->detectEnvironment(array(
    'local' => array('your-machine-name'),
    'development' => array('your-machine-name'),
));
の様に追加するだけです。
localが不要であれば削除していただいて構いません。
またhostnameにはワイルドカードが使用できますので、
チームで開発している場合等で、
全員がmacの場合ですとhostnameを変更していなければ "hoge.local"等になっているはずですので、
"*.local"
の様に指定します。
hostname以外の方法で環境切り替えをしたい場合は、
$app->detectEnvironment(array());
の配列で任意の指定方法を記述してください。
次回は設定2 実装前に確認すべき箇所についてです

about ytake

執筆に参加しています


Laravel お役立ち情報

share



このエントリーをはてなブックマークに追加

Categories

laravel 45

DTM 0

music 0

PHP全般 31

0

JAPAN 1

WORLD 1

javascript 4

RDBMS 1

NoSQL 1

NewSQL 1

Recent Posts

Ad

comments powered by Disqus

GitHub

Social Links

Author


クリエイティブ・コモンズ・ライセンス
Yuuki Takezawa 作『Ytake Blog』はクリエイティブ・コモンズ 表示 - 非営利 4.0 国際 ライセンス で提供されています。

© ytake/comnect All Rights Reserved. 2014