設定配置值

Config 值可以通過三種方式設定:

  1. 通過 SilverStripe 專案中任何類的 private static 變數
  2. 通過 yaml 配置檔案(儲存在 module-folder / _config / [file] .yml 中)
  3. 在執行時通過 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,因為它比使用快取值慢