2013-04-30 53 views
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

+0

服务为[无状态(https://igor.io/2013/03/31/stateless-services.html), “再利用” 的意思是,你总是检索相同来自DIC – Federkun 2013-04-30 13:48:29

+0

的实例,如果它是无状态的,那么它不是那样的,是吗? – copndz 2013-04-30 13:54:13

+1

你有没有尝试将计数保存到用户的会话?或者如果计数器在用户之间使用,则传送到数据库。 – jaudette 2013-04-30 14:37:22

回答

相关问题