Я создал статический класс внутри Symfony (без зависимостей самого Симфони) и хочу работать в нём с БД, используя Doctrine. Также у меня есть entity таблицы в БД и репозиторий для этого Entity.
Как я понял, мне не хватает ContainerInterface, который автоматически есть в генерируемом Symfony контроллере, но у меня нет контроллера.
Мануалы подсказывают мне, что есть вот такой способ:
/** @var FramePagesRepository */
protected $framePages;
public function __construct(FramePagesRepository $framePages) {
$this->framePages = $framePages;
}
Но он уже выглядит слегка костыльно и требует динамически создаваемого класса, а у меня статический. К тому же, как я понял, инъекция не получится, даже если я создам этот класс динамически, потому что я сделаю это через new. Можно ли как-нибудь полностью отвязать работу с БД от структуры Симфони и обращаться к Репозиторию таблицы напрямую?
Ещё можно создать скрипт Symfony Console и взять EntityManager оттуда, протащив его при создании классов через new в нужные мне места, но это выглядит ещё костыльней.
Скорее всего, в силу малого опыта мой подход неверен в целом, поэтому опишу ситуацию целиком:
У меня есть symfony и websocket сервер Ratchet, работающий вне структуры Синфони, который общается с html страничкой. Сервер запускается с помощью запуска php скрипта через крон.