Как я могу получить значения конфигурации (пользовательские) из любого места приложения?
Я хочу сделать это за пределами контроллера в методе сущности 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 }
Это только моя идея, надеюсь, что это поможет, пока кто-то не даст поистине замечательное решение 🙂