knp-snappy-bundle提供私人服务

时间:2018-07-10 14:10:55

标签: php symfony dependency-injection knp-snappy

从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

1 个答案:

答案 0 :(得分:1)

KnpSnappyBundle升级到1.5.2:他们为您做了。 如果您要重新定义服务(应该没有用),请将public: true放入定义中。

此外,将^1.5作为composer.json中的版本,以便接收此捆绑包的所有兼容升级(< 2)(我建议对每个第三方代码都这样做)在composer update

期间跟随semantic versioning

如果您想进一步了解作曲家及其约束,请查看^ (caret) documentation