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