2015-10-15 50 views

回答

0

在Symfony的文档Marking Services as Public/Private

是什么让私人服务特别的是,如果他们只注射一次 ,他们从服务转换为内联实例(例如 新PrivateThing())。这增加了容器的性能。现在

该服务是私人的,你不应该直接从容器中获取服务 :

基本的私有服务只适用于注入等服务。例如,您无法在控制器操作中获取服务。

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

其他信息:

标记只是用于分组和服务容器的编译之前操作同种服务的。就是这样,没什么特别的。这是非常有用的帖子:

例如,如果你创建自己的类(通过扩展底座Twig_Extension类),声明它作为一个服务和将其标记为twig.extension和清除缓存(含热身),枝杈编译通类(TwigEnvironmentPass类)会自动注册,并承认它像它自己的扩展,你可以在你的树枝使用模板文件..

相关问题