gpt4 book ai didi

php - 无法使用服务注入(inject) SecurityContext

转载 作者:行者123 更新时间:2023-12-04 04:32:37 27 4
gpt4 key购买 nike

我看过很多关于这个的帖子,但我不明白我做错了什么。

服务.yml:

parameters:

services:
bar.menu_builder:
class: Foo\BarBundle\Menu\MenuBuilder
arguments: [ @security.context ]

菜单生成器:
namespace Foo\BarBundle\Menu;

use Symfony\Component\Security\Core\SecurityContextInterface;
use Knp\Menu\FactoryInterface;

class MenuBuilder {

protected $securityContext;
protected $isLoggedIn;

public function __construct(SecurityContextInterface $securityContext) {
$this->securityContext = $securityContext;
$this->isLoggedIn = $this->securityContext->isGranted('IS_AUTHENTICATED_FULLY');
}

// other methods
}

但是没有通过SecurityContext,因为我得到了这个异常:

ContextErrorException: Catchable Fatal Error: Argument 1 passed to Foo\BarBundle\Menu\MenuBuilder::__construct() must implement interface Symfony\Component\Security\Core\SecurityContextInterface, none given



任何的想法?

最佳答案

应引用服务参数。

parameters:

services:
bar.menu_builder:
class: Foo\BarBundle\Menu\MenuBuilder
arguments: ["@security.context"]

关于php - 无法使用服务注入(inject) SecurityContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20312329/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com