内容简介:Symfony 是一款基于 MVC 架构的 PHP 框架,致力于减少重复代码的编写,以加速 Web 应用的开发和维护。Symfony 与许多关系型数据库集成的也非常好,成本也较小。 Symfony 致力于在企业背景下创建健壮的应用,同时也...
Symfony 是一款基于 MVC 架构的 PHP 框架,致力于减少重复代码的编写,以加速 Web 应用的开发和维护。Symfony 与许多关系型数据库集成的也非常好,成本也较小。
Symfony 致力于在企业背景下创建健壮的应用,同时也给予了开发者强大的配置功能:从文件结构到外部目录,几乎所有的东西都可以自定义。Symfony 也捆绑了一些诸如测试、调试、文档生成等 工具 来满足企业的开发过程。
Symfony 5.4 主要对控制器做了一些更改:
弃用 Request::get() 方法
Symfony 请求对象是 HTTP 请求消息的面向对象表示。这个对象提供了几个方法,以从传入的请求中获取信息:
除了这些特定的方法,还有一个通用的 get()
方法,在 path(路由占位符或自定义属性)、$_GET
和 $_POST
中查找信息,并返回找到的第一个值:
这种方法的灵活性在某些边缘情况下可能很有用,但通常情况下最好明确说明数据来自何处,因此 Symfony 一直不建议使用这个方式,
在 Symfony 5.4中, get()
方法被标记为私有。使用它将看到弃用消息。
快捷方式变更
早期的 Symfony 版本可以使用 get()
和 has()
方法从控制器访问所有应用程序服务,Symfony 5.4 完全弃用了 get()
和 has()
方法,用这种方式访问整个服务容器被认为是一种反面模式( anti-pattern ),get()
方法只允许访问与控制器相关的非常有限的一组服务,在控制器中获取服务应该使用构造函数或方法注入。
此外,控制器为最常见的操作提供了一系列快捷方式。例如,要重定向到某个路由,不需要注入 UrlGeneratorInterface
类来获取 URL 生成器服务,可以选择使用 redirectToRoute()
快捷方式:
弃用以下控制器快捷方式,它们与 HTTP 操作没有直接关系:
dispatchMessage()
getDoctrine()
不要使用这些快捷方式,而是在构造函数或控制器方法中注入相关服务。
除了以上对 Symfony 控制器的改动,5.4 BETA 版本还有其他更新项,具体可查看更新公告:https://github.com/symfony/symfony/releases/tag/v5.4.0-BETA
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Kotlin 1.4 中的语法改动
- Go 语言的 4 个特性改动
- Java 9 对类加载器的改动
- Elasticsearch 高基数聚合性能提升 3 倍,改动了什么?
- 小改动,大提升:Go 标准库的一次优化
- NG-ZORRO 0.7.0 发布,底层大量重构与改动更新
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python语言程序设计
(美)Y. Daniel Liang / 机械工业出版社 / 2013-3 / 79.00元
本书保持了Liang博士系列丛书中一贯的、标志性的教与学的哲学:以实例教,由实践学。书中采用了他所提出的已经经过实践检验的“基础先行”的方法,即在定义类之前,首先使用清晰简明的语言介绍基本程序设计概念,如选择语句、循环和函数;在介绍面向对象程序设计和GUI编程之前,首先介绍基本逻辑和程序设计概念。书中除了给出一些以游戏和数学为主的典型实例外,还在每章的开始使用简单的图形给出一两个例子,以激发学生的......一起来看看 《Python语言程序设计》 这本书的介绍吧!