Symfony2 - 将供应商注册为服务

时间:2013-09-03 17:38:46

标签: php symfony service

我想将供应商库注册为服务,例如doctrine,任何人都可以通过$container->get('doctrine')访问。我希望以这种方式注册其他供应商,例如PhpExcel($container->get('phpexcel'))。

3 个答案:

答案 0 :(得分:1)

请参阅services.yml

中的liuggio/ExcelBundle文件
parameters:
    xls.phpexcel.class: PHPExcel

services:
    xls.phpexcel:
        class: %xls.phpexcel.class%

然后$container->get('xls.phpexcel');

答案 1 :(得分:0)

只要第三方类通过不自己实例化其依赖关系来尊重DI,您就可以将它们注册为服务,就像您自己的类一样。阅读Service Container chapter以获取有关如何执行此操作的更多信息。

答案 2 :(得分:0)

你应该使用一个工作包。找到可用于作曲家at packagist.org的所有捆绑包。 liuggio/ExcelBundle应该完成你想要的工作。安装后,您可以使用PHPExcel作为服务:

$excelService = $this->get('xls.service_xls5');