Глобальный доступ к значениям конфигурации symfony2

Как я могу получить значения конфигурации (пользовательские) из любого места приложения?

Я хочу сделать это за пределами контроллера в методе сущности prePersist. Инъекционная инъекция также звучит нелогично.

Не существует ли какой-то статический способ получить класс конфигурации или ядро.?

Injection Dependency – это способ Symfony 2, который позволяет использовать конфигурацию: создавать службы для вашей логики, внедрять вашу конфигурацию в сервисах и внедрять службы в другие службы, используя логику OO. Что касается вашего конкретного вопроса (с использованием config в prePersist), ответ заключается в том, что если вам нужно получить доступ к конфигурации, то обратный вызов prePersist не подходит для выполнения вашей логики, поскольку сущности не должны знать ничего, что относится к более высоким уровням программного обеспечения ( т.е. уровни обслуживания / конфигурации).

Здесь вы можете найти еще несколько объяснений: как использовать услугу переводчика внутри Entity?

Как насчет моего собственного подхода к использованию настраиваемого 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 } 

Это только моя идея, надеюсь, что это поможет, пока кто-то не даст поистине замечательное решение 🙂