2012-02-09 41 views
0

如何从应用程序的任何位置获取配置值(自定义)?全局访问symfony2的配置值

我想在一个实体的方法prePersist中的控制器之外执行它。依赖注入听起来也不合逻辑。

是不是有一些获取配置类或内核的静态方法..?

回答

0

依赖注入是Symfony 2使用配置的方式:为您的逻辑创建服务,在服务中注入配置并使用OO逻辑在其他服务中注入服务。至于你的具体问题(使用实体的prePersist中的配置),答案是如果你需要访问配置,prePersist回调不是执行你的逻辑的正确位置,因为实体不应该知道属于更高软件层的任何东西(即服务/配置层)。

你可以在这里找到一些更多的解释:How to use the translator service inside an Entity?

0

什么关于我自己的使用由ConfigClass一个自定义的方法吗?然后,您应该将其添加到所需的位置并使用它。

namespace Your\Namespace\YourConfig; 

class YourConfig { 

    private $energy_config; 

    public function __construct() { 
    $this->energy_config = array(
     'update_frequency' => 10, 
     'energy_added'  => 10, 
     'energy_maximum'  => 200, 
    ); 
    } 

} 

以后如果你需要的energy_config值,只添加所需的类使用声明:

use Your\Namespace\YourConfig; 
... 

public function foo() { 
    $config = new YourConfig(); 
    // use your config values 
} 

这只是我的想法,希望它可以帮助别人拿给一个真正伟大的解决方案:)