2015-12-11 88 views
2

我試圖谷歌我可以存儲在Laravel靜態數據(只是簡單的數組),但沒有發現任何明顯的原因或解釋,只是一些現有的解決方案。Laravel在哪裏放置靜態數據

數據可能是例如國家列表。是的,它可以存儲在數據庫中,但這聽起來對我來說毫無用處,因爲這些數據是靜態的,只用於檢索目的。

我見過很多方法爲這樣的存儲數據,例如:

  • 模型(實體)
  • 存儲爲包
  • 控制器

是否有任何的做法在哪裏存儲這樣的靜態數據? 或者,也許它自己所指的「數據」是指它應該屬於的存儲數據, - 數據庫,不管將要對其執行什麼操作?

回答

2

Laravel是自以爲是,你應該。有多種方法可以做到這一點。

你可以讓它保持像一個配置,並作爲一個配置查詢。例如:config/mydata.php(確保返回數組),然後config()->get('mydata.***')

可以造一個配偶幫助和註冊自動加載磁帶機,創造helpers.php,

public function generate_data() 
{ 
    return [ 'x' , 'x' ,'x' ... ]; 
} 

寄存器通過composer.json/應用,

{ 
    "autoload": { 
     "files": [ 
      "app/helpers.php" 
     ] 
    } 
} 

好吧,如果你需要另一個明顯PHP風格,請在根項目中的任意位置創建文件,例如:MY_LARAVEL_PROJECT_ROOT/mydata/country.php,創建文件並返回您的東西的數組。在應用的結束/開始/ global.php,需要它,

require base_path().'/mydata/country.php'; 

這只是工作這樣的,有樂趣:)

0

您可以存儲靜態數組和其他變量不變的配置/ constants.php文件...