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