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

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

内容简介: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


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

查看所有标签

猜你喜欢:

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

The Photoshop Anthology

The Photoshop Anthology

Corrie Haffly / SitePoint Pty. Ltd. / 2006 / USD 39.95

The Photoshop Anthology is full-color, question-and-answer book for Web Designers who want to use Photoshop to build Websites and create better looking web graphics more effectively. The book covers: ......一起来看看 《The Photoshop Anthology》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器