在Symfonob娱乐下载y 2.8:不以为然的范围和引入共享服务
2016年3月9日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony的版本。ob娱乐下载其中一些信息可能是过时了。阅读最近的Symfony文档ob娱乐下载。
提供的
迭戈圣Esteben在# 14984。
服务范围控制多久的一个实例使用一个服务容器。DependencyInjection组件提供了三个范围:
容器
(默认),每次使用相同的实例要求服务从容器中;原型
在每次创建一个新实例服务要求;请求
在创建一个新的实例为每个subrequest(和外面没有请求)。
的request_stack
服务,在Symfony 2.4中引ob娱乐下载入的,解决相关的问题请求
范围和处理请求
对象服务。这让我们重新思考整个“范围”的概念,我们决定简化DependencyInjection组件不以为然的他们完全在Symfony 2.8 3.0在Symfony和删除它们。ob娱乐下载
新共享
选项
而不是范围
现在可以配置,服务定义共享
选择。在默认情况下这个选项真正的
,相当于前面容器
范围。将其设置为假
得到相同的结果与前面的原型
范围:
1 2 3 4 5 6 7 8 9 10 11 12
# app / config / services.yml#之前服务:app.my_service:类:AppBundle \ \ MyService服务范围:原型#后服务:app.my_service:类:AppBundle \ \ MyService服务共享:假
这个弃用看起来很小,但是它将产生显著的好处,比如宽松Symfony的学习曲线和消除难以理解(如异常。ob娱乐下载ScopeWideningInjectionException
)。
发表在#生活在边缘
评论
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。
Marc is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now