設定配置值
Config
值可以通過三種方式設定:
- 通過 SilverStripe 專案中任何類的
private static
變數 - 通過 yaml 配置檔案(儲存在 module-folder / _config / [file] .yml 中)
- 在執行時通過 PHP(
Config::inst()->update('Director', 'environment_type', 'dev')
通常,最好通過前兩種方法設定配置值,因為在重新整理快取時這些方法是靜態快取的。
設定私人靜態
class MyDataObject extends DataObject {
private static $db = array(
'Title' => 'Varchar',
);
}
SilverStripe 專案程式碼中的所有
private static
類變數(包括模組,但vendor/
目錄中的包)都將載入到Config
中。
使用 YAML 進行設定
你可以將其新增到 mysite/_config/config.yml
(或該路徑中的任何其他 YAML 檔案)。
Director:
environment_type: dev
使用 YAML 檔案是覆蓋核心類或模組的預設
Config
值的好方法
在執行時設定
這通常在 mysite/_config.php
中完成
Config::inst()->update('Director', 'environment_type', 'dev');
應儘可能避免在 PHP 中更新
Config
,因為它比使用快取值慢