2013-04-30 49 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

回答

相關問題