小编ram*_*mlo的帖子

Symfony2:每个服务调用的新实例,而不是使用相同的

我创建了一个服务,但每次调用它时,它都会创建一个新实例,而不是使用相同的实例.这是我的services.yml:

my.sessiondata:
    class: My\Bundle\Service\SessionData
    calls:
        - [ setServices, [@security.context, @service_container, @session, @doctrine.orm.entity_manager] ]
    scope: container
Run Code Online (Sandbox Code Playgroud)

我的服务:

namespace My\Bundle\Service;

class SessionData
{  
    protected $company;


    public function setServices($securityContext, $serviceContainer, $session, $em)
    {
        var_export($this->company);
        if (!$this->company)
        {
            $this->company = "TEST";
            var_export($this->company);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这样的控制器中调用该服务:

    $sessionData = $this->container->get('my.sessiondata');
Run Code Online (Sandbox Code Playgroud)

每当我调用控制器时,视图都会保持dip'ying NULL'TEST'.

知道为什么实例丢失了吗?

php symfony

3
推荐指数
1
解决办法
1705
查看次数

标签 统计

php ×1

symfony ×1