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


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

查看所有标签

猜你喜欢:

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

算法图解

算法图解

[美] Aditya Bhargava / 袁国忠 / 人民邮电出版社 / 2017-3 / 49.00元

本书示例丰富,图文并茂,以让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量。书中的前三章将帮助你打下基础,带你学习二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅将主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如,何时采用贪婪算法或动态规划;散列表的应用;图算法;K最近邻算法。一起来看看 《算法图解》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

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

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换