Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
symfony2中服务设置中的标记的目标是什么_Symfony_Event Listener_Service Object - Fatal编程技术网

symfony2中服务设置中的标记的目标是什么

symfony2中服务设置中的标记的目标是什么,symfony,event-listener,service-object,Symfony,Event Listener,Service Object,在eventListener的此服务中,它使用了标记项: services: app.exception_listener: class: AppBundle\EventListener\ExceptionListener tags: - { name: kernel.event_listener, event: kernel.exception } 标签项目的目标是什么 如何将名称(名称:kernel.event\u liste

在eventListener的此服务中,它使用了标记项:

services:
    app.exception_listener:
        class: AppBundle\EventListener\ExceptionListener
        tags:
            - { name: kernel.event_listener, event: kernel.exception }
  • 标签项目的目标是什么
  • 如何将名称(名称:kernel.event\u listener)定义到此标记项中

  • 标记提供可以附加到服务的名称键值属性。他们自己不做任何事情,但其他服务可以利用标签做一些更有趣的事情

    在您给出的特定示例中,当构建容器时,事件侦听器的编译器传递将查找名为
    kernel.event\u listener
    的服务,并将该服务注册为
    kernel.exception
    事件的事件侦听器

    标记名本身没有在任何地方定义;但是,如果您创建了一个在容器中注册的
    CompilerPass
    ,您可以搜索带有特定名称的服务,并对它们做一些有用的事情。(如上文所述,注册事件处理程序。)


    您可以从中找到有关标记服务的更多信息,包括一个简单的
    编译器类的示例

    标记提供可以附加到服务的名称键值属性。他们自己不做任何事情,但其他服务可以利用标签做一些更有趣的事情

    在您给出的特定示例中,当构建容器时,事件侦听器的编译器传递将查找名为
    kernel.event\u listener
    的服务,并将该服务注册为
    kernel.exception
    事件的事件侦听器

    标记名本身没有在任何地方定义;但是,如果您创建了一个在容器中注册的
    CompilerPass
    ,您可以搜索带有特定名称的服务,并对它们做一些有用的事情。(如上文所述,注册事件处理程序。)


    您可以从中找到有关标记服务的更多信息,包括一个简单的
    编译器类的示例

    ,非常感谢。标记名中的值用于CompilerPass中的process()方法,以查找使用FindTaggedServiceId(值)方法标记的所有服务。非常感谢。标记名中的值用于CompilerPass中的process()方法,以查找使用FindTaggedServiceId(值)方法标记的所有服务。