Php 反对公开使用服务
在一个更大的应用程序中,我有许多服务。使用Symfony 2.x,我们在控制器中使用了大多数公共服务:Php 反对公开使用服务,php,symfony,symfony4,symfony-3.4,Php,Symfony,Symfony4,Symfony 3.4,在一个更大的应用程序中,我有许多服务。使用Symfony 2.x,我们在控制器中使用了大多数公共服务: $container->get('service.id'); 过渡到Symfony 3.4/4,我不赞成公开使用服务。由于许多客户直接使用这项服务,我必须让他们公开 但我想将该服务的公共使用标记为“不推荐” 我已经知道如何在Symfony()中弃用服务定义 我是否能够以某种方式拒绝公开使用?您可以通过在服务定义中将private属性设置为true来创建一个“想要成为私人”服务 yaml
$container->get('service.id');
过渡到Symfony 3.4/4,我不赞成公开使用服务。由于许多客户直接使用这项服务,我必须让他们公开
但我想将该服务的公共使用标记为“不推荐”
我已经知道如何在Symfony()中弃用服务定义
我是否能够以某种方式拒绝公开使用?您可以通过在服务定义中将private
属性设置为true
来创建一个“想要成为私人”服务
yaml:public:true,private:true
php:
$definition->setPublic(true)->setPrivate(true)代码>
这将在从容器中获取服务而不是注入服务时触发一个弃用通知,以便您可以在以后将您的服务真正公开。public:false
。Nice。正是我想要的。我试图装饰容器本身,并抛出一个弃用通知。这个更好。这是传统的吗?找不到此版本的任何文档。这是symfony core的内部版本,在中介绍。BTW,请考虑投票有用的答案: