如何解决依赖注入:在控制器中获取参数
我正在将应用程序从Symfony 2.8迁移到Symfony 3.4
这些服务现在是私有的,因此,必须使用依赖项注入作为解决方法,而不是从容器直接调用服务。
对于参数, $ this-> getParameter()是反模式吗?如果是,我们如何才能让他们成为控制者,当然我们必须始终遵守良好做法?
有关信息,请使用 services.yml
中的 bind 在 Symfony 4.1 中提供解决方案。以以下脚本为例,以环境为例:
class CmsController extends Controller
{
/**
* @param Request $request
*
* @return Response
*/
public function importExportAction(Request $request): Response
{
$adminPool = $this->get('sonata.admin.pool');
$env = $this->getParameter('environment');
return new Response('OK');
}
}
解决方法
控制器现在被视为服务。
您可以查看this anwser,以了解如何使用参数配置服务。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。