0
我想要一个绑定到应用程序范围的变量(在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');
}
但是,当我在找回我小枝,值为1,无论我刷新多少或与绑定到我的testAction的url上的多个会话。 =>这意味着每次调用构造函数。
那么这是正确的做法吗?我认为服务是一次创建并重用的,但我可能弄错了。
请问您能否赐教?
谢谢 copndz
服务为[无状态(https://igor.io/2013/03/31/stateless-services.html), “再利用” 的意思是,你总是检索相同来自DIC – Federkun 2013-04-30 13:48:29
的实例,如果它是无状态的,那么它不是那样的,是吗? – copndz 2013-04-30 13:54:13
你有没有尝试将计数保存到用户的会话?或者如果计数器在用户之间使用,则传送到数据库。 – jaudette 2013-04-30 14:37:22