针对 SilverStripe 中的类存储配置设置



我有一个扩展DataObject的类,我们称之为ExtendedDataObject,我想有一个单一的配置设置;特别是一个电子邮件地址。 即我想为类存储一个电子邮件地址,而不是每个实例一个。如果我有多个类扩展我的扩展数据对象,则每个类都需要一个单独的电子邮件地址。

理想情况下,我想将代码单独保存在 ExtendedDataObject.php 文件中,以便我可以将其用于多个项目。我可以以某种方式将 $Class.Email 属性添加到站点配置中吗?

对于 YML 版本,您可以将它们添加到 mysite/_config/emails.yml

---
Name: dataobjectemails
After:
  - 'framework/*'
  - 'cms/*'
---
ExtendedDataObject:
  email: your.first.email@example.com
AnotherExtendedDataObject:
  email: your.second.email@example.com

您可以通过Config获取它们:

Config::inst()->get($yourClassName, 'email');

最新更新