Symfony 5.4 Beta 版发布,包含控制器改动

栏目: 软件资讯 · 发布时间: 3年前

内容简介:Symfony 是一款基于 MVC 架构的 PHP 框架,致力于减少重复代码的编写,以加速 Web 应用的开发和维护。Symfony 与许多关系型数据库集成的也非常好,成本也较小。 Symfony 致力于在企业背景下创建健壮的应用,同时也...

Symfony 是一款基于 MVC 架构的 PHP 框架,致力于减少重复代码的编写,以加速 Web 应用的开发和维护。Symfony 与许多关系型数据库集成的也非常好,成本也较小。

Symfony 致力于在企业背景下创建健壮的应用,同时也给予了开发者强大的配置功能:从文件结构到外部目录,几乎所有的东西都可以自定义。Symfony 也捆绑了一些诸如测试、调试、文档生成等 工具 来满足企业的开发过程。

Symfony 5.4 主要对控制器做了一些更改:

弃用 Request::get() 方法

Symfony 请求对象是 HTTP 请求消息的面向对象表示。这个对象提供了几个方法,以从传入的请求中获取信息:

Symfony 5.4 Beta 版发布,包含控制器改动

除了这些特定的方法,还有一个通用的 get() 方法,在 path(路由占位符或自定义属性)、$_GET  $_POST 中查找信息,并返回找到的第一个值:

Symfony 5.4 Beta 版发布,包含控制器改动

这种方法的灵活性在某些边缘情况下可能很有用,但通常情况下最好明确说明数据来自何处,因此 Symfony 一直不建议使用这个方式,

在 Symfony 5.4中, get() 方法被标记为私有。使用它将看到弃用消息。

快捷方式变更

早期的 Symfony 版本可以使用 get()  has() 方法从控制器访问所有应用程序服务,Symfony 5.4 完全弃用了 get()  has() 方法,用这种方式访问​​整个服务容器被认为是一种反面模式 anti-pattern ),get() 方法只允许访问与控制器相关的非常有限的一组服务,在控制器中获取服务应该使用构造函数或方法注入。

此外,控制器为最常见的操作提供了一系列快捷方式。例如,要重定向到某个路由,不需要注入 UrlGeneratorInterface 类来获取 URL 生成器服务,可以选择使用 redirectToRoute() 快捷方式:

Symfony 5.4 Beta 版发布,包含控制器改动

弃用以下控制器快捷方式,它们与 HTTP 操作没有直接关系:

  • dispatchMessage()
  • getDoctrine()

不要使用这些快捷方式,而是在构造函数或控制器方法中注入相关服务。

除了以上对 Symfony 控制器的改动,5.4  BETA 版本还有其他更新项,具体可查看更新公告:https://github.com/symfony/symfony/releases/tag/v5.4.0-BETA


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Hacking Growth

Hacking Growth

Sean Ellis、Morgan Brown / Crown Business / 2017-4-25 / USD 29.00

The definitive playbook by the pioneers of Growth Hacking, one of the hottest business methodologies in Silicon Valley and beyond. It seems hard to believe today, but there was a time when Airbnb w......一起来看看 《Hacking Growth》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具