4

codeigniter から来た laravel で遊び始めたばかりで、一連の定数を定義する最良の方法を見つけようとしています。CI は app/config の下の定数フォルダーを使用します。ほとんどの場合、このアプローチに概ね満足していましたが、Laravel でこれを行う最善の方法についてアドバイスが必要でした。

私の定数は 3 つのカテゴリに分類されます。可能であれば、それぞれを保存および取得する最善の方法についてアドバイスをお願いします (私は Laravel をまったく初めて使用することを念頭に置いてください。

タイプ 1 : コントローラーが呼び出されるたびにロードする必要がある定数: たとえば、ユーザーが ajax を介してコンテンツを要求しているかどうかを知らせる定数を定義することから始めたいと思います。これは、CI 定数ファイルで行っていたことです。 define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')

タイプ 2 : ユーザーが変更できる定数: これらはデータベースに保存するのが最適ですか、それとも構成ファイルに書き込む方がよい選択肢でしょうか? 保管方法と回収方法についてのアドバイスを再度探しています

タイプ 3 : 特定のコントローラーでのみ必要な定数: 理想的には、定数を配列にグループ化するか、ファイルを分離し、必要に応じてそれらをグループに抽出できるようにしたいと考えています。たとえば、アップロード コントローラーのアップロード設定を取得できます。

事前にヘルプ/アドバイスをありがとう - 例をいただければ幸いです

4

3 に答える 3

8

タイプ 1 バンドル (またはアプリケーション) の start.php ファイルに任意の定数を追加できます。

タイプ 2 と 3 の両方の要件に対して Config を使用することをお勧めします。

于 2012-09-07T06:58:39.760 に答える
0

私の解決策は、app/config フォルダー内に「constants.php」app/config/constants.php というファイルを作成することです。

内部のコードは配列方式です。

"何らかの値", 'c2'=>"何らかの値" ); ?>

次に、各コントローラー内で Config::get('constants.c1'); を使用して取得できます。

それを行うのは簡単な方法だと思います。よりスケーラブルです。

于 2014-12-05T03:16:06.160 に答える