Мне нужно использовать Symfony 4 и MongoDB в проекте. Я могу получить доступ к DocumentManager в контроллере следующим образом:
$dm = $this->get('doctrine_mongodb')->getManager();
во время выполнения, но не как другие сервисы (например, Doctrine EntityManager) через аргумент любого метода или конструктора. Так что я не знаю, как добраться до него в сервисе. Если я его не пропишу в services.yaml, Symfony его не найдет, это понятно. Но если я попытаюсь зарегистрироваться:
Doctrine\:
resource: '../vendor/doctrine/mongodb-odm/lib/Doctrine/*'
он также возвращает ошибку: (1/1) Ошибка компиляции FatalErrorException: невозможно использовать «Bool» в качестве имени класса, поскольку оно зарезервировано в Bool.php (строка 26)
Кажется, что это несовместимо с php 7, что, однако, требуется для Symfony 4.
Кто-нибудь знает, как разрешить это противоречие?
Заранее спасибо!