サービスを作成しましたが、それを呼び出すたびに、同じインスタンスを使用する代わりに新しいインスタンスが作成されます。ここに私のservices.ymlがあります:
my.sessiondata:
class: My\Bundle\Service\SessionData
calls:
- [ setServices, [@security.context, @service_container, @session, @doctrine.orm.entity_manager] ]
scope: container
そして私のサービス:
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);
}
}
}
次のようなコントローラーでサービスを呼び出します。
$sessionData = $this->container->get('my.sessiondata');
コントローラーを呼び出すたびに、ビューに NULL'TEST' が表示され続けます。
インスタンスが失われた理由は何ですか?