我同意@olivierw 的解决方案。
对于个人项目,我有一个名为的表Config
,我使用过滤器加载内容,因此我可以访问项目中的任何位置。
过滤器lib/filter/configFilter.php
:
<?php
class configFilter extends sfFilter
{
public function execute ($filterChain)
{
// get the config
$configs = Doctrine_Core::getTable('Config')>findAll();
foreach($configs as $config)
{
sfConfig::set('my_config_'.$config->getName(), $config->getContent());
}
// execute next filter
$filterChain->execute();
}
}
在apps/frontend/config/filters.yml
:
rendering: ~
configFilter:
class: configFilter
security: ~
现在您可以使用以下方式访问任何信息:
sfConfig::get('my_config_key');
schema.yml
我的桌子Config
:
Config:
columns:
name: { type: string(255) }
content: { type: string(1000) }