Я хочу, чтобы переменная привязана к области приложения (в java, которая была бы областью приложения).Переменная, привязанная ко всему приложению через запросы
Я думал, что обслуживание должно быть полезным, чтобы достичь моей цели.
Я создал тестовый сервис
<?php
namespace Acme\MyBundle\Service;
class test {
public $count;
public function __construct() {
$this->count = 0;
}
public function addCount() {
$this->count++;
}
}
который я объявленный в services.yml
acme.my.service.test:
class: Acme\MyBundle\Service\test
Я называю это в моем контроллере
public function testAction() {
$this->get('acme.my.service.test')->addCount();
return $this->render('AcmeMyBundle:Test:test.html.twig');
}
Но когда я получить его в моем twig, значение равно 1, независимо от того, насколько я обновляюсь или перехожу с несколькими сеансами на url, связанном с моим testAction. => Это означает, что каждый раз вызывается конструктор.
Так это правильный способ сделать? Я думал, что службы были созданы один раз и повторно использованы, но я могу ошибаться.
Не могли бы вы просветить меня?
Спасибо, copndz
обслуживание [без гражданства] (https://igor.io/2013/03/31/stateless-services.html), "повторно" означает, что вы всегда получает то же самое экземпляр из DIC – Federkun
, если он без гражданства, это не тот же экземпляр, не так ли? – copndz
Вы пытались сохранить счет на сеанс пользователя? Или в базу данных, если счетчик используется для всех пользователей. – jaudette