在更大的应用程序中,我有很多服务.使用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);
当从容器中获取服务而不是注入服务时,这将触发弃用通知,以便您可以使您的服务真正公开:稍后为false.