symfony 为什么我得到错误“无法自动连接服务:参数是类型提示“数组”,你应该显式配置其值,“

mi7gmzs6  于 2023-10-23  发布在  其他
关注(0)|答案(1)|浏览(136)

我的服务yaml看起来像这样:

App\EventSubscriber\ApiTokenListener:
        autowire: true
        arguments:
            $routesRequiringToken: ['app_authors', 'app_books']
        tags:
            - { name: kernel.event_subscriber, bind: true }

我的ApiToken看起来像这样:

private Session $session;
    private UrlGeneratorInterface $urlGenerator;
    private array $routesRequiringToken;

    public function __construct(Session $session, UrlGeneratorInterface $urlGenerator, array $routesRequiringToken)
    {
        $this->session = $session;
        $this->urlGenerator = $urlGenerator;
        $this->routesRequiringToken = $routesRequiringToken;
    }

我在yaml文件中为$routesRequiringToken变量定义了数组。为什么我仍然得到这个错误?
我试着到处找,但找不到一个原因,为什么这不工作。

kmb7vmvb

kmb7vmvb1#

它要求你做的是指定一个默认值。所以如果你把它改为array $routesRequiringToken = [],这应该会修复错误,但你可能仍然不能访问任何参数。

相关问题