Php PrestaSitemapBundle与类RouterInterface的多重定义
试图设置PrestaSitemapBundle,但当我尝试添加侦听器时,发生了一个错误 可捕获致命错误:参数1传递给 AppBundle\EventListener\SitemapListener::\uu构造()必须实现 接口Symfony\Component\Routing\RouterInterface,给定数组, 叫来 /上的var/www/websitename/var/cache/dev/appDevDebugProjectContainer.php 第3268行,定义为“不适用” /var/www/websitename/src/AppBundle/EventListener/sitemapstener.php 第28行 服务.ymlPhp PrestaSitemapBundle与类RouterInterface的多重定义,php,phpstorm,symfony,Php,Phpstorm,Symfony,试图设置PrestaSitemapBundle,但当我尝试添加侦听器时,发生了一个错误 可捕获致命错误:参数1传递给 AppBundle\EventListener\SitemapListener::\uu构造()必须实现 接口Symfony\Component\Routing\RouterInterface,给定数组, 叫来 /上的var/www/websitename/var/cache/dev/appDevDebugProjectContainer.php 第3268行,定义为“不适用”
services:
sitemap.listener:
class: AppBundle\EventListener\SitemapListener
arguments:
- ["@router"]
tags: [{name: "presta.sitemap.listener"}]
此外,PhpStorm显示“类Routerinterface的多重定义”
它与错误有某种联系吗
您的服务定义中有错误 都是
array:
- 1
- 2
…和
array: [1, 2]
…是定义命名数组的方法
您的服务定义
arguments:
- ['@router']
…实质上是创建一个数组,第一个值是一个数组,内部数组的第一个值是“@router”。要解决此问题,您需要选择一种方法来定义数组。因此
arguments:
- '@router'
…或
arguments: ['@router']
您能为您的侦听器显示服务定义吗?您的意思是在上面添加的service.yml中