Php 访问;security.csrf.token“U管理器”;不推荐使用直接来自容器的服务,请改用依赖项注入

Php 访问;security.csrf.token“U管理器”;不推荐使用直接来自容器的服务,请改用依赖项注入,php,symfony,Php,Symfony,我将symfony升级到5.2。我有一些折旧通知 由于symfony/frameworkbundle 5.2:不推荐直接从容器访问“security.csrf.token_manager”服务,请改用依赖注入 以下是相关代码: $client = static::createClient(); $crawler = $client->request('GET', '/fr/mon'); $csrfToken = $client->getContaine

我将symfony升级到5.2。我有一些折旧通知

由于symfony/frameworkbundle 5.2:不推荐直接从容器访问“security.csrf.token_manager”服务,请改用依赖注入

以下是相关代码:

$client = static::createClient();
        $crawler = $client->request('GET', '/fr/mon');
        $csrfToken = $client->getContainer()->get('security.csrf.token_manager')->getToken('task_item');
(...)

如何解决此问题?

您需要使用自动布线


最后,我找到了方法:

$extract = $this->crawler->filter('input[name="mytable[_token]"]')
->extract(array('value'));
$csrf_token = $extract[0];
$extract = $this->crawler->filter('input[name="mytable[_token]"]')
->extract(array('value'));
$csrf_token = $extract[0];