2012-08-29 69 views
3

我剛剛開始玩laravel來自codeigniter,我試圖找出定義一系列常量的最佳方法。 CI在app/config下使用了一個常量文件夾,對於大多數情況,我非常滿意這種方法,但希望在Laravel中完成此操作的最佳方法。在laravel中存儲和檢索常量

我的常量分爲3類,如果可能,我想就如何更好地存儲和檢索每個(記住霸菱我完全新的Laravel建議

1型: 常量這就需要要每次加載的控制器被稱爲: 如我想通過定義一個常量來告訴我,如果用戶請求通過AJAX的內容開始,這是我以前在CI常量做文件: define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')

類型2: 用戶可以更改的常量: 這些最好存儲在數據庫中還是寫入配置文件是更好的選擇?再次尋找諮詢如何存儲和檢索

類型3: 常量,其只需要在特定的控制器: 我非常希望能夠組常數成陣列或單獨的文件,和他們拉出來的根據需要分組。 例如我可以檢索我的上傳控制器的上傳設置。

感謝提前任何幫助/諮詢 - 例子將不勝感激

回答

8

1型 您可以添加任何常數包(或應用)start.php文件。

類型2和3 我會建議使用Config來滿足這兩個要求。

0

我的解決辦法是創建內部應用程序/配置文件夾中的文件名爲「constants.php」 應用/配置/ constants.php

代碼內部處於陣列的方法。

「some value」, 'c2'=>「some value」 ); ?>

然後在每個控制器裏面你可以使用 Config :: get('constants.c1');

我認爲這是一個簡單的方法,它更具可擴展性。

0
<?php 
//file : app/config/constants.php 

return [ 
    'IS_AJAX' => isset($_SERVER['HTTP_X_REQUESTED_WITH'] 
]; 
在任何地方

echo Config::get('constants.IS_AJAX');