2015-10-15 23 views

回答

0

在Symfony的文檔Marking Services as Public/Private

是什麼讓私人服務特別的是,如果他們只注射一次 ,他們從服務轉換爲內聯實例(例如 新PrivateThing())。這增加了容器的性能。現在

該服務是私人的,你不應該直接從容器中獲取服務 :

基本的私有服務只適用於注入等服務。例如,您無法在控制器操作中獲取服務。

$container->get('app.twig_extension'); // would fail 
0

其他信息:

標記只是用於分組和服務容器的編譯之前操作同種服務的。就是這樣,沒什麼特別的。這是非常有用的帖子:

例如,如果你創建自己的類(通過擴展底座Twig_Extension類),聲明它作爲一個服務和將其標記爲twig.extension和清除緩存(含熱身),枝杈編譯通類(TwigEnvironmentPass類)會自動註冊,並承認它像它自己的擴展,你可以在你的樹枝使用模板文件..

相關問題