ServiceNotFoundException Symfony 3.3

时间:2018-02-14 12:34:44

标签: php symfony symfony-3.3 symfony3.x

在Symfony 3.3项目中,我在

定义了一个类
../AppBundle/Helper/ProgramHelper
像这样

class ProgramHelper implements ContainerAwareInterface
{
    use ContainerAwareTrait;
    protected $em;
    public function __construct(EntityManager $em)
    {
        $this->em = $em;
    }
}

在services.yml中我像这样添加了

services:
    ...
    app.helper.program_helper:
        class: AppBundle\Helper\ProgramHelper
        tags:
             - { name: app.helper, alias: 'container_aware' }
        arguments: [ "@doctrine.orm.entity_manager" ]
        calls:
            - [setContainer, ['@service_container']]

现在 - 尝试从像

这样的控制器访问该类
$ph = $this->get('app.helper.program_helper');

导致此错误

ServiceNotFoundException
You have requested a non-existent service "app.helper.program_helper".

非常感谢任何关于这个问题的提示。

1 个答案:

答案 0 :(得分:4)

@Cerad回答了这个问题 - 谢谢!

  

将public:true添加到服务定义中。服务现在是私人的   默认情况下,这意味着您无法再通过get访问它们。   bin / console debug:container将确认该服务是否可用。