在 SilverStripe 中针对 class 存储配置设置
Storing a config setting against a class in SilverStripe
我有一个 class 扩展 DataObject,我们称它为 ExtendedDataObject,我想为其设置一个配置;特别是电子邮件地址。即我想为 class 存储一个电子邮件地址,而不是每个实例一个。如果我有多个 class 扩展我的 ExtendedDataObject,那么每个 class 都需要一个单独的电子邮件地址。
理想情况下,我希望将代码单独保存在一个 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');
我有一个 class 扩展 DataObject,我们称它为 ExtendedDataObject,我想为其设置一个配置;特别是电子邮件地址。即我想为 class 存储一个电子邮件地址,而不是每个实例一个。如果我有多个 class 扩展我的 ExtendedDataObject,那么每个 class 都需要一个单独的电子邮件地址。
理想情况下,我希望将代码单独保存在一个 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');