首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么PHP框架Laravel从5.2版本开始就弃用了路由功能“控制器”?

Laravel从5.2版本开始弃用了路由功能中的"控制器",主要是出于以下几个原因:

  1. 代码结构清晰化:Laravel团队认为将路由和控制器分离可以使代码结构更加清晰化。通过将路由和控制器分离,可以更好地组织和管理代码,提高代码的可读性和可维护性。
  2. 灵活性和可扩展性:弃用控制器功能后,开发者可以更加灵活地定义路由和处理请求的逻辑。可以根据具体需求,选择不同的处理方式,例如使用闭包函数、回调函数或者中间件来处理请求,从而实现更加灵活和可扩展的路由功能。
  3. 提高性能:通过弃用控制器功能,可以减少框架的内部调用和处理过程,从而提高系统的性能。控制器功能的弃用使得请求的处理更加直接和高效,减少了不必要的中间环节。
  4. 遵循最佳实践:Laravel团队在设计框架时,秉承着"约定优于配置"的原则,希望开发者能够遵循最佳实践来开发应用。弃用控制器功能是为了鼓励开发者使用更加灵活和可扩展的方式来处理路由,从而使得代码更加规范和易于维护。

在Laravel 5.2版本之后,开发者可以使用闭包函数、回调函数或者中间件来处理路由,具体的使用方式可以参考Laravel官方文档中的路由章节(https://laravel.com/docs/routing)。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

宇宙最强语言PHP的“全栈”框架——Laravel来了!

PART. 01 为什么要使用框架 PHP开发人员可以使用的一些组件及软件包(也简称为包)来看,其实很容易得知为什么使用这些组件以及包会有很多好处。...为什么任何时候都要有一个以上的 PHP 框架?它们都使用 Symfony 的组件,对吧?让我们来谈谈是什么让 Laravel 变得特别的。...在其他框架中,即使使用了推荐的配置,也需要对所有的设置进行声明。因此,使用 Laravel 构建的项目比其他大多数 PHP 框架花费的时间少。 Laravel 还专注于简约性。...虽然其他框架可能会建议在每个项目中使用这些工具和结构,但是 Laravel 及其文档和社区更倾向于最简单的开始,比如从一个全局函数、外观(facade)、ActiveRecord 开始。...Laravel 有一个显著的特点,它的成长和成功与它受欢迎的教学社区是密不可分的。 Laravel 拥有一个丰富而充满活力的社区,这里汇聚了第一天开始一直在这里的人和那些第一次到来的人。

2.4K10

Laravel5.2之Demo1——URL生成和存储

引言: 本文基于Laravel框架做的一个URL生成和存储demo,主要目的是学习使用Laravel框架。...书籍基于Laravel4的,学习时使用Laravel5.2框架开发。...URL数据库,需要做几个步骤: (1)、首先创建一个数据库并定义该数据库与Laravel的连接信息,Laravel框架为数据库连接提供了配置文件:/config/database.phpLaravel...这里的url表示提交表单时的路由,方法为post。在这里使用laravelcollective/html这个组件,顺便了解下怎么在laravel中安装组件。 这里书中使用了laravel4....原文书中是直接在路由中匿名函数里写数据存储逻辑,这里个人还是先创建一个控制器php artisan make:controller UrlController,在控制器里写数据存储逻辑比较好。

24.1K31
  • Laravel框架控制器,视图及模型操作图文详解

    本文实例讲述了Laravel框架控制器,视图及模型操作。...分享给大家供大家参考,具体如下: 鉴于上一篇Laravel框架下载,安装及路由操作我们讲到了路由,可能大家会觉得路由这个东西无所不,可路由这个东西事实上只是用来接收请求并转化给控制器进行处理,所以这篇文章我们就来讲控制器...怎么创建控制器 控制器路由怎么样进行关联 关联控制器后怎么使用路由的特性 那么,就让我们开始学习控制器吧!...其他路由方法和路由基础一致,再次不做多介绍 然后还有一个值得注意的是 Route::controller('member','MemberController'); 这个路由5.2开始便不再支持,所以使用不了...到这里我们的模板,控制器和视图已经学完了 更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、

    1K31

    全局梳理、分析、总结 laravel 的核心概念

    01 — 什么是 laravel Laravel 是 Taylor Otwell 开发的一款基于 PHP 语言的 Web 开源框架,采用了 MVC 的架构模式。...下面 我分享一张 图片,此图是goole提供,laravel 在过去七年成长速度,在 php 框架自 有史以来也是最快的。 ?...02 — laravel 有哪些版本 以下分别是 laravel 版本对应 发布日期 与 php版本 要求。 ?...03 — 路由 laravel路由也是自身框架的一个特征点,它的路由样式用法丰富且又简洁明了。让开发者甚是喜欢。...路由缓存/清理 (注:基于闭包的路由无法被缓存。要使用路由缓存,你需要将代码闭包转移到控制器类中) 如果您的应用程序只使用了基于控制器路由,那么您应该利用 Laravel路由缓存。

    6K41

    Laravel框架下载,安装及路由操作图文详解

    本文实例讲述了Laravel框架下载,安装及路由操作。...Laravel | 5则表示安装成功 NO.2Laravel核心目录文件介绍 这个是为了帮助你们理解以后在运用Laravel框架时候代码如何存放,然后说明一点,我这是5.2版本Laravel。.../Http/Controllers 存放控制器文件 app/Http/Middleware 存放「中间件」文件 bootstrap 框架启动与自动加载设置相关的文件 composer.json 应用依赖的扩展包...被 Git 所忽略的文件 .env 环境变量配置文件 更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程...》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家基于Laravel框架PHP程序设计有所帮助。

    4.6K51

    为什么 Laravel 这么优秀?

    为什么 Laravel 这么优秀 Laravel 一直是我心中最优雅的后端框架,为了向更多的人解释为什么 Laravel 这么优雅?框架本身都做了什么操作?比起其他框架的优势在哪里等?...虽说 Laravel 5.x 后 Laravel版本变化比较快,基本一年一个大版本,但它的核心几乎 4.X 以来没有发生过特别大的变化。...我猜这也是为什么 Laravel 不需要实现其他优秀的路由算法如 Radix Tree 的原因吧。...我们知道容器只有两个功能: 1. 装东西(bind) 2. 从容器里取东西(get) 所有用到容器的框架其本质都是在框架启动的时候疯狂的往容器里装东西,容器里面的东西越多,容器提供的功能越大。...不过我觉得 Laravel 的不足不在性能,毕竟 PHP 作为脚本语言,就算我们把它优化到极致,也不可能达到类似 Go 那么高的吞吐率,如果真的是为了性能,那为什么不选择其他更适合的语言呢?

    21010

    Laravel系列3.2】路由:指哪儿打哪儿

    路由:指哪儿打哪儿 在没有接触到 Laravel 之前,早先的框架基本上都没有这个完整的路由的概念。像是 TP3 、Yii1 版本的时候,都是通过入口文件对参数的解析来加载指定的 控制器 。...关于这种形式的加载方式大家可以在去看一下老的这些框架是如何实现的。而在 Laravel 中,开始接触的时候,就使用的是自定义路由的方式来指定请求的路径。...如果是传统框架没有加任何判断的情况下,也是可以直接请求到控制器的,只是说我们 _POST 中无法获取数据而已。.../t/1 这样实现了路由控制器的关联。...通过 laravel/framework/src/Illuminate/Foundation/Http/Kernel.php 内核文件中 dispatchToRouter() 方法,开始进入路由分派的操作

    11.8K10

    3分钟短文|Laravel命令行调用控制器方法,你会几个?

    今天要说的就是在laravel中,能不能在命令行中调用控制器的方法, 怎么去实现? 学习时间 为了快速测试控制器方法可不可行,我们有时候会想,能不能像这样在命令行直接访问某个控制器路由的方法。...php index.php --uri=controller/method/var1/var2 要知道国内号称用途最广的thinkphp都已经这样用了laravel可落后乎?当然不可。...然后重点来了,我们使用laravel框架提供的 Container 容器构造一个调用: app()->make(\Illuminate\Contracts\Http\Kernel::class)->handle...($request); 酱。...: php artisan route:call /path 当然了如果你使用的laravel版本比较高,其提供了 tinker 功能,会让你眼前一亮,相见恨晚。

    1.7K10

    CMS-CMS框架解析

    今天第一次接触到CMS的项目,当时是修改一个别人项目的BUG,说实话,我开始并不了解这是一个开源框架,我开始以为是一个别人字节写的自用框架,而非公共的开源框架。...其实本人也写过微框架,本次借助CMS来谈谈框架的思想。...框架处理流程: 用户输入URL->rewrite等操作将URL导入到入口文件index.php->预设常量->解析URL生成路由(伪静态实现的地方),路由中分解出控制器和方法->类的自动载入实现->调用控制器...17行引入了框架的核心处理类 21到34行,将路由中的语言方式解析出来,术语叫国际化即可以编写中文版本和英文版本的文字。...a=1&b=3,最后的index.html中的.html是伪静态标识在纯路径的最后,是可以配置的,其实本质是indexController的index方法,在解析路由的时候用了增加一个后缀的小技巧,生成了伪静态

    5.1K10

    Laravel系列3.4】中间件在路由控制器中的应用

    中间件在路由控制器中的应用 中间件是什么?在传统框架的年代,很少会有中间件这个概念。我最早接触这个概念其实是在学习 MySQL 的时候,了解过 MyCat 这类的组件也被称为中间件。...在之前学习 Node.js 的时候,express 框架中也是有中间件这个东西的,而且概念和 Laravel 的中间件是完全相同的。现在,这种中间件技术也已经是各种现代化框架的必备功能之一了。...其它的默认提供的中间件大家可以自己尝试分析一下是干什么用的,怎么实现的,接下来我们自己定义一下我们刚刚创建的这个中间件。就做一些简单的功能。...Kernel.php 是源码中的文件,也是整个 Laravel 框架的核心文件。...总结 关于中间件的内容就是这些,使用的方法其实有这些已经足够我们日常的开发应用了。对于源码的分析并没有太深入,因为再往下走的话就是管道相关的实现了。

    2.6K50

    Laravel系列3.1】​一个请求的前世今生

    请求,体现在 Laravel 框架中的 request 中,这个 Request 对象在底层是 Symfony 的一个 RequestBag 包,它将贯穿整个框架几乎所有加载的对象中,能够被我们的控制器...这个调用路径,也就是浏览器发出一个请求到我们要处理这个请求的路由或者控制器,看看这个请求都经历了哪些地方,走过了哪些路。...可以最后总结一下,一个请求的路径, 入口文件index.php ,进入到 Kernel 内核之后,就是一直在 Pipeline 管道中不断地使用中间件进行处理,最终达到 路由 或者 控制器 。...调试的信息来看,其实传统的 _REQUEST 、_POST、 其实,许多框架都会建议他们封装的参数获取函数中取得参数信息。一般这些框架都会对请求进行一些参数验证、数据保护过滤的操作。...在我们的入口文件 public/index.php 中,调用了 Request::capture() 这个静态方法。

    7.5K20

    Laravel 5.0 发布, 海量新特性!!

    今天总算抽出一点时间把官方的新特性说明文档简单地翻译了一下, 希望所有喜欢 Laravel 框架的朋友都能感受到这个版本带来的激动人心的改变....控制器方法注入 除了现有的构造器注入以外, 在新版本中还可以在控制器方法中的依赖项进行类型约束....除此之外, 网站初始框架中还包含了一个 "users" 表的 migration 文件. 这些简单的资源帮助开发者不用在用户认证功能上耗费大量时间....使用方法和以前一样: php artisan tinker DotEnv 在 Laravel 5.0 中, 用 Vance Lucas 实现的 DotEnv 替代了以前版本中的嵌套结构, 容易让人困惑的环境配置目录...全新的生成器 为了方便生成新的默认应用结构, 全新的 Artisan 生成命令已经被添加到框架中. 你可以通过 php artisan list 查看详细命令.

    4.1K60

    Laravel5.1 框架控制器基础用法实例分析

    本文实例讲述了Laravel5.1 框架控制器基础用法。...分享给大家供大家参考,具体如下: 为什么要使用控制器 像我们之前写一些逻辑呢都是在Route(路由)中,搞得Route文件特别庞大,其实我们应该把这些逻辑都抽到一个控制器里,路由分发后到控制器控制器做相应的操作...–今天关于控制器先写这么多吧,具体逻辑实现咱还得学一些新的知识来结合使用,比如middleware啊和request还有blade模板引擎,但都不是很难~ 更多关于Laravel相关内容感兴趣的读者可查看本站专题...:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家基于...Laravel框架PHP程序设计有所帮助。

    58520

    Laravel 路由使用入门

    对任何一个 Web 应用框架而言,通过 HTTP 协议处理用户请求并返回响应都是核心必备功能,也就是说,对于我们学习和使用一个 Web 框架,第一件要做的事情就是定义应用路由,否则,将无法与终端用户进行交互...而我们的 Laravel 入门到精通系列教程之旅也将从路由开始,在这篇真正意义上的开篇教程中,我们将学习如何定义路由,然后将其指向要执行的代码,并处理各种路由需求。...1、路由入门 在 Laravel 应用中,定义路由有两个入口,一个是 routes/web.php,用于处理终端用户通过 Web 浏览器直接访问的请求,另一个是 routes/api.php,用于处理其他接入方的...这就是一个最简单的 Laravel 路由定义,但是涵盖了一个 Web 框架的基本功能:处理请求,返回响应。...Laravel 框架也为我们提供了相应的路由定义方法: Route::post('/', function () {}); Route::put('/', function () {}); Route

    2.6K50

    Laravel系统3.3】控制器与表单验证

    所以说,只要是遵循 MVC 模式的框架控制器都是最核心的部分。在传统的框架中,我们的控制器往往也充当路由功能,比如 TP3.2 系列,定义控制器名称就是我们要请求的 URL 路径名称。...对于 REST 有疑问的同学可以自行查阅相关的文档,在这里就不多说了,毕竟我们的主旨还是在于 Laravel 框架如何实现这些功能。...Laravel 框架会自动帮我们配置以下这些路由,大家只要按照规则访问就好了。...既然说到这里了,那么在 Laravel 框架中,其实也是有对应的表单验证的功能的,可以方便地让我们进行表单参数的验证。...总结 这篇文章的内容不少吧,我们学习了控制器和验证器相关的内容,之所以把这两个放在一起,也是因为验证这个功能一般都会在控制器的最开始使用。

    8.7K20

    laravel 学习之路 路由视图初探

    我大致了解了 laravel 下,在开始一个 Http 程序需要先定义路由。...了解 MVC 的都对控制器的作用有所了解,控制器是实现主要业务逻辑的。在其他框架控制器一般就是一个类,laravel 也不例外,laravel 的控制其结构并没有什么特殊。 <?...,controller控制器比作多部手机设备变很好理解 配置路由 laravel 的每一个路由是需要手动定义的,Laravel控制器非常的干净,与其他类的耦合度相当的低。...得益于 laravel 的 IoC 容器,我们很容易实现相当丰富的功能,且不会产生紧密耦合。那么如何才能访问到这个控制器里的逻辑呢?...ThinkPHP 这种默认路由规则使得框架开箱即用,十分便捷。

    1.4K10

    laravel5.1框架基础之路由详解

    本文实例讲述了laravel5.1框架基础之路由。...分享给大家供大家参考,具体如下: 我在学习Laravel5.1,虽然刚刚开始,认识很浅,但还是需要做做归纳,清晰认识 建议大家到laravel学院学习laravel 1、路由(app/routes.php...) 在routes.php中进行路由设置,; 作为访问的统一入口,是控制器的统一调度; 没有配置路由没有正确地访问路径; 路由需要自己规定一定的规则,方便自己查看、使用、理解; 2、路由基本类型及使用示例...,我该开始不再畏惧,好好面对,所以开始laravel源码中出现的英文注释逐步进行翻译,待自己的对框架熟悉时候,再添加自己的中文注释,来强化自己的认识。...| */ 更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程

    1.3K30

    laravel5分钟完成登录注册

    以下均是在laravel5.2+版本进行操作,5.1部分适用,建议使用5.2新增许多方便的功能,5.1的多表验证极其麻烦,不推荐使用 在使用laravel框架前,我们需要安装composer 在安装好.../laravel laravel 最后的参数是我们需要建立的项目名 laravel 框架默认带着一个model----User,直接放在app下(事实上我们往往会把model放在一个文件夹下,例如我们可以自己去新增...model在命令行下,php artisan Models/User,这样我们新增的model放在了app/Models目录下了) 自带的还有两个数据库迁移文件,create_users_table,...数据库配置写在.env文件里,如果没有复制.env.example粘贴重命名.env) 接下来输入php artisan make:auth 它会自动生成一些前端视图(放在resources/views...,我们来看看具体的代码吧 点击注册看,也就是到了 GET register 的这条路由,我们找到AuthController里的showRegistrationForm  这个方法(是放在AuthenticatesAndRegistersUsers

    16520
    领券