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


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

查看所有标签

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

数据结构

数据结构

邓俊辉 / 清华大学出版社 / 2013-9 / 39.00元

《清华大学计算机系列教材:数据结构(C++语言版)(第3版)》按照面向对象程序设计的思想,根据作者多年的教学积累,系统地介绍各类数据结构的功能、表示和实现,对比各类数据结构适用的应用环境;结合实际问题展示算法设计的一般性模式与方法、算法实现的主流技巧,以及算法效率的评判依据和分析方法;以高度概括的体例为线索贯穿全书,并通过对比和类比揭示数据结构与算法的内在联系,帮助读者形成整体性认识。一起来看看 《数据结构》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码