设置配置值

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,因为它比使用缓存值慢