在更大的应用程序中,我有很多服务。使用Symfony 2.x,我们可以在控制器中使用大多数公共服务:
$container->get('service.id');
过渡到Symfony 3.4 / 4我想弃用服务的公共用法。由于许多客户直接使用该服务,因此我必须将其公开。
但我想将服务的公共使用标记为“已弃用”。
我已经知道如何在Symfony中弃用服务定义(http://symfony.com/blog/new-in-symfony-2-8-deprecated-service-definitions)。
我只能以某种方式弃用公共用途吗?
您可以通过在服务定义上将private
属性设置为来提供“想要成为私人”服务true
。
yaml:public: true, private: true
php:$definition->setPublic(true)->setPrivate(true);
从容器获取服务而不是注入服务时,这将触发弃用通知,以便您可以在public: false
以后真正使用服务。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句