2017-02-10 13 views
10

私はむしろlaravelに新しいです。基本的な質問があります。laravelに定数を追加する最も良い方法は何ですか? 私は定数を追加するために使用する.envメソッドを知っています。 また、プロジェクト用に定数ファイルを使用しました。 例:laravelで定数を追加するベストプラクティスは何ですか? (ロングリスト)

define('OPTION_ATTACHMENT', 13); 
define('OPTION_EMAIL', 14); 
define('OPTION_MONETERY', 15); 
define('OPTION_RATINGS', 16); 
define('OPTION_TEXTAREA', 17); 

などです。 100以上のレコードに到達することができます。だから、定数を書くための最良の方法は何でしょうか。 .envメソッド。またはconstant.phpファイルを追加しますか?アプリケーション全体でグローバルに使用ほとんどの定数については

おかげ

+1

1)通常の(私の)SQLデータベース2)redisのようなキー値ストーリー/ nosqlデータベース3)設定ファイル、あなた自身の設定ファイルなどを使用してください。ベストプラクティスはおそらくオプション3となるでしょうし、また最も速い –

+0

でしょう。この答えはあなたにとって役に立ちます:http://stackoverflow.com/a/26062788/6028607 –

+0

@VincentG私は.envが最良の選択だとは思わない。私は定数の長いリストを持っています。 –

答えて

15

は、設定ファイルに格納するだけで十分です。それもかなりシンプルです

configディレクトリに新しいファイルを作成します。 constants.php

そこには、設定値の配列を返す必要があります。

return [ 
    'options' => [ 
     'option_attachment' => '13', 
     'option_email' => '14', 
     'option_monetery' => '15', 
     'option_ratings' => '16', 
     'option_textarea' => '17', 
    ] 
]; 

そして、あなたの質問は、「ベストプラクティス」についてだったとあなたは「.env方法」について尋ねた

Config::get('constants.options'); 
// or if you want a specific one 
Config::get('constants.options.option_attachment'); 
+1

ディレクトリは実際には '/ config'です –

+1

はい。訂正ありがとう –

+0

@ KArunSinghなぜhttps://stackoverflow.com/questions/26854030/laravel-where-to-store-global-arrays-data-and-constantsを重複して指していないのですか? – blamb

1

次のようにあなたがそれらにアクセスすることができます。

.envは、環境が変更されたために変更される変数のみです。異なる環境の例:テスト、受け入れ、生産。

だから.envは、データベースなど

資格情報、APIキー、.envは(私見)は、すべての環境にわたって同一の定数を含めるべきではありませんが含まれています。そのために提案された設定ファイルを使用してください。

-1

まず、Constantsフォルダをアプリディレクトリ内に作成します。

そして、Constants.phpとします。たとえば、このファイルに

をあなたの定数を定義します。

define('ONE', '1'); 
define('TWO', '2'); 

そして、あなたはまたcomposer.json

を変更するには、次を追加することにより、ブートストラップ/ constants.phpファイルをロードするためにcomposer.jsonを使用することができます次のように "autoload"セクションのコード:

"autoload": { 
    "files": [ 
     "bootstrap/constants.php" 
    ] 
} 

あなたの作曲家をアップデートしてください!

関連する問題