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


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

查看所有标签

猜你喜欢:

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

深入应用C++11

深入应用C++11

祁宇 / 机械工业出版社 / 2015-5 / 79

在StackOverflow的最近一次世界性调查中,C++11在所有的编程语言中排名第二, C++11受到程序员的追捧是毫不意外的,因为它就像C++之父Bjarne Stroustrup说的:它看起来就像一门新的语言。C++11新增加了相当多的现代编程语言的特性,相比C++98/03,它在生产力、安全性、性能和易用性上都有了大幅提高。比如auto和decltype让我们从书写冗长的类型和繁琐的类型......一起来看看 《深入应用C++11》 这本书的介绍吧!

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

多种字符组合密码

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具