После обновления с Symfony 2.2 до Symfony 3.4 я получаю ошибку
Сервис или псевдоним knp_snappy.pdf был удален или добавлен
контейнер был скомпилирован. Вы должны либо сделать это публичным, либо прекратить
использовать контейнер напрямую и использовать вместо этого внедрение зависимостей.
config.yml
knp_snappy:
pdf:
enabled: true
binary: '%knp_snappy_pdf_binary%'
options: []
в действии контроллера:
$html = $this->renderView(
'FsaBundle:Registration:registrationEmail.html.twig', ['data' => $data]
);
$pdf = $this->get('knp_snappy.pdf')->getOutputFromHtml($html);
...
Как сделать knp_snappy.pdf
общественности?
Обновить KnpSnappyBundle
в 1.5.2: они сделали это для вас.
Если вы переопределяете сервис (который должен быть бесполезным), поставьте public: true
в определении.
Кроме того, поставить ^1.5
как версия в composer.json
чтобы получить все совместимые обновления (< 2
) этого пакета (и я бы рекомендовал делать это для каждого стороннего кода, который следует за семантическое управление версиями) во время composer update
Если вы хотите узнать больше о композиторе и его ограничениях, ознакомьтесь с ^
(каретная) документация.
Других решений пока нет …