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

Laravel 路由使用入门

对任何一个 Web 应用框架而言,通过 HTTP 协议处理用户请求并返回响应都是核心必备功能,也就是说,对于我们学习使用一个 Web 框架,第一件要做的事情就是定义应用路由,否则,无法与终端用户进行交互...而我们的 Laravel 从入门到精通系列教程之旅也将从路由开始,在这篇真正意义上的开篇教程中,我们学习如何定义路由,然后将其指向要执行的代码,并处理各种路由需求。...对于稍微复杂一些的业务逻辑,我们可以将其拆分到控制器方法中实现,然后在定义路由的时候使用控制器+方法名来取代闭包函数: Route::get('/', 'WelcomeController@index'...); 这段代码的含义是针对 / 路由的 GET 请求传递给 App\Http\Controllers\WelcomeController 控制器的 index 方法进行处理。...,而使用关联数组的方式传递参数则没有这样的约束。

2.6K50

Laravel源码解析之中间件

中间件(Middleware)在Laravel中起着过滤进入应用的HTTP请求对象(Request)完善离开应用的HTTP响应对象(Reponse)的作用, 而且可以通过应用多个中间件来层层过滤请求、...上面概述了下中间件在laravel中的角色,以及什么类型的代码应该从控制器挪到中间件里,至于如何定义使用自己的laravel 中间件请参考官方文档。...解析出Http Kernel后Laravel进入应用的请求对象传递给Http Kernel的handle方法,在handle方法负责处理流入应用的请求对象并返回响应对象。...getInitialSlice方法,他的返回值是作为传递给callbakc函数的$carry参数的初始值,这个值现在是一个闭包,我把getInitialSliceHttp Kernel的dispatchToRouter...限于篇幅为了文章的可读性,收集路由控制器中间件然后执行路由对应的处理方法的过程我就不在这里详述了,感兴趣的同学可以自己去看Router的源码,本文的目的还是主要为了梳理laravel如何设计中间件的以及如何执行它们的

1.4K30
您找到你想要的搜索结果了吗?
是的
没有找到

通过 Request 对象实例获取用户请求数据

而作为最流行的 PHP 框架,Laravel 自然也是为处理用户请求提供了丰富的工具集,从收集、验证、到过滤、编排,可谓是一应俱全,接下来,我们通过三四篇教程的篇幅来为你详细介绍如何Laravel...注入请求对象 在 Laravel 中,访问用户输入数据最常用的方式,就是通过注入到控制器方法中的 Illuminate\Http\Request 对象实例,通过该实例,我们可以访问所有用户请求数据,不管是什么方式...: Route::post('form', 'RequestController@form'); 注:除此之外,Laravel 还提供了 Request 门面全局辅助函数 request(),本质都是调用...: $site = $request->input('site', 'Laravel学院'); 获取数组输入字段值 有的时候,我们在表单中传递给后端的可能是一个数组,比如一些复选框选中项,这些表单输入框的...作为定义路由的匿名函数参数之间已经见过很多了,这里我们来演示下作为控制器方法参数传入,以及如何通过 Request 对象实例获取。

19.7K30

laravel + passport的Aouth2.0全解

) 一、概述: 1、主要讲解:Aouth2.0授权模式密码模式 2、使用浏览器postman两种方式验证。...二、心得&重点: 1、完全理解透彻的一次使用 1、一定要把Aouth2.0laravel自带的API区分开。...不修改vue首页的时候是不会出现‘跳登录、再加载前端’的问题的 也就是说这个登录界面已经是vuejs版本的登录界面了,甚至是vuejs使用方式的一个优秀样例。.../uivue的任何东西(官网中间大部分在讲这么用vue开发客户端)【这句话错了】 * 需要laravel/ui提供的后台登录控制器 前端登录的界面。...混淆,本测试根本不需要laravel/uivue的任何东西 Route::get('/start', function (Request $request) { $request->session

3.7K30

Laravel 5.0 之 Middleware (Filter-Style)

提示:过滤器在 Laravel 核心代码中依然存在,所以你依然可以使用。但是在需要对路由进行修饰时,更推荐采用的是 middleware. Middleware 是什么?...Laravel 默认使用 middleware 来处理加密/解密 cookies 队列、读取写入 sessions, 但除此之外你还可以用 middleware 来向请求/响应环中加入你需要的任何一种操作层...new \Exception("WE DON'T LIKE ODD REMOTE PORTS"); } return $next($request); } } 如何使用...你可能注意到了,新的 Kernel 类有两个属性: $middleware $routeMiddleware. 这两个属性都是 middleware 为元素的数组。...很简单,只要把它加到 $middleware 数组中: protected $middleware = [ 'App\Http\Middleware\MyMiddleware', //

2K40

laravel 学习之路 数据库操作 查询数据

@insert'); Route::get('index', 'DbController@index'); }); 并在控制器增加一个 index 方法 <?...select 方法始终返回一个数组数组中的每个结果都是一个 StdClass 对象,可以像下面这样访问结果值 function index() { $data = DB...Laravel 的查询构造器使用 PDO参数绑定来保护您的应用程序免受 SQL 注入攻击。因此没有必要清理作为绑定传递的字符串 注意:PDO 不支持绑定列名。...($data); } sql 中还有个 IN 的用法 laravel 中就是 whereIn() 第一个参数还是字段名第二个参数是数组 function getList() {...就是 whereNotIn(),Between 同理,关联表就是 join 了,可以3个参数关联表就是 join 了可以3个参数,第一个参数就是要关联的表名可以使用 as 给表定义别名,当表比较长的时候会比较方便

3.2K20

PHP-Laravel控制器使用(C)

三、控制器使用© 控制器主要的作用主要负责接收用户输入请求,调度模型处理数据最后利用视图展示数据。 1、控制器文件写在哪里? 其位置位于app/Http/Controllers ?...后续如果需要更多的控制器只需要重复的执行上述的artisan命令即可。 注意:控制器可以分目录管理。 4、控制器路由(项目以该方式为主) 即,如何使用路由规则调用控制器下的方法,而不再走回调函数。...路由设置格式基本相同,只是匿名函数换成‘控制器类名@方法名’定义格式如下: Route::请求方法(‘路由表达式’,’控制器@方法'); 例如:在Test控制器中创建test1方法,其中输出phpinfo...(在aliases数组中定义别名): ?...编写test2方法测试上述的获取信息的操作: 给test2路由传递一系列的参数(get值) ?

1.4K10

Laravel源码分析之Route

路由是外界访问Laravel应用程序的通路或者说路由定义了Laravel的应用程序向外界提供服务的具体方式:通过指定的URI、HTTP请求方法以及路由参数(可选)才能正确访问到路由定义的处理程序。...无论URI对应的处理程序是一个简单的闭包还是说是控制器方法没有对应的路由外界都访问不到他们,今天我们就来看看Laravel如何来设计实现路由的。...下面我们从路由的注册、加载、寻址这几个阶段来看一下laravel里是如何实现这些的。...@someAction' ] 可以看到把命名空间补充到了控制器的名称前组成了完整的控制器类名,action数组构建完成接下里就是创建路由了,创建路由即用指定的HTTP请求方法、URI字符串action...属性里存放的内容时routes属性里的二维数组变成一维数组后的内容: [ 'GET' .

2.2K30

PHP-web框架Laravel-路由(一)

路由是HTTP请求映射到应用程序中正确控制器的机制。在Laravel中,路由负责确定应用程序如何响应传入的HTTP请求。...定义路由在Laravel中,可以使用Route类定义路由。定义路由时,可以指定HTTP请求方法、URI要执行的动作。...我们使用Route::get方法来指定我们想要处理GET请求,我们使用闭包函数来定义我们想要执行的动作。接收参数在Laravel中,可以通过路由接收HTTP请求中的参数。...;});在这个示例中,我们在URI中使用了占位符{ name },这个占位符匹配URI中的任何字符串,并将其作为参数传递给闭包函数。...重定向在Laravel中,可以使用Route::redirect方法来一个路由重定向到另一个URI。

1.2K10

PHP-web框架Laravel-MVC架构

Laravel是一个基于MVC(Model-View-Controller)架构的Web框架,它采用了一种分层的设计模式,应用程序分为三个主要的组成部分:模型(Model)、视图(View)控制器(...视图通常包含HTML、CSSJavaScript等Web技术,并使用模板引擎来生成动态内容。Laravel使用Blade模板引擎来创建视图,Blade提供了一些简单但强大的语法来生成动态内容。...在表格中,我们使用@foreach指令来迭代$users数组中的每个用户,然后使用Blade的双括号语法来输出每个用户的名称电子邮件地址。...Controller控制器是应用程序的处理中心,它们接收来自路由的请求并响应适当的响应。控制器负责模型视图组合在一起以生成Web应用程序的响应。...下面是一个简单的控制器示例,它包含一个名为“index”的动作,该动作将从数据库中检索用户数据并将其传递给视图:namespace App\Http\Controllers;use App\User;use

1.8K41

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

关于这种形式的加载方式大家可以在去看一下老的这些框架是如何实现的。而在 Laravel 中,从我开始接触的时候,就使用的是自定义路由的方式来指定请求的路径。.../get/request/1 // http://laravel8/get/request/1/1 404 在这个路由中,我们指定了两个参数,一个是 id 一个是 name ,当使用 /get/request...edit http://laravel8/temp/delete http://laravel8/temp/insert 就可以把这五个链接都放到 temp 这个资源路径下,一般这种类似的资源也会只使用一个控制器.../t/1 这样就实现了路由控制器的关联。...接下来,我们以 http://laravel8/temp/ 这个链接为例,使用调试工具看一下路由是如何调用分派的。 首先当然还是请求的封装,也就是我们上篇文章中的 Request 对象的生成。

11.7K10

Laravel学习笔记(五)——视图,数据的外衣

而微信小程序的作用仅仅是API接口传输过来的JSON数据包装并显示出来。 而在Laravel中的视图(blade模板),就是一个可插入后端数据的HTML文件。...在Laravel中,都是控制器数据传给指定的视图的。其中,控制器在传递数据的时候有以下两种方式。 view函数第二个参数 第一种方式就是数据作为view的第二个参数一并传输给指定的视图。...Student::find($id);// 获取指定id的学生信息 return view('student.detail') -> with(['student' => $student]);// 获取到的学生信息数据传递给...student.detail模板 就我个人而言的话,更倾向于使用with的方式值,这样显得比较优雅也更清晰。...如果传入的数据为数组,可以在数组后面用 -> 然后接数值名称表示某一数值。

2.6K00

laravel 学习之路 路由与控制器

前面学习的路由与控制器,接下来学习如何把路由与控制器关联起来 配置路由关联控制器 Route 的 get 或者 post 方法,第一个参数就是我们要定义的路由,就是我们在地址栏请求的那段url,...很显然控制器就是来替代这第二个参数的闭包函数的写起来也非常简单直接写控制器名即可,然后用 @ 符号分割控制器控制器的方法Route::get('test/index','TestController@...共享属性应该以数组的形式传入 Route::group 方法的第一个参数中。 嵌套的组尝试智能地「合并」其属性及其父组。中间件 where 条件语句在附加名称、命名空间前缀时被合并。...因为创建的目录下我们还会创建更多的路由器所以,我们应该使用 group 嵌套的这种方式,比如说我们再有一个 app/Http/Controllers/Home/TagController.php 执行创建控制器命令...再个 id 一般都是纯数字,这里却了字母 ,我们应该怎么约束下 id 呢?laravel 方方面面都为我们考虑到了,我们加个 where 就行了。

98510

Laravel学习笔记(三)——控制器,处理请求与返回响应

这一章我们主要学习控制器,包括控制器的介绍控制器使用,以及对上一章节中路由的用法的补充。...Laravel中的控制器 作用 一般的MVC框架中的Controller作用一样,在Laravel中,控制器的主要作用是接受路由转发的请求,从模型获取数据后,再将数据渲染到视图一并输出给用户。...控制器目录 第一章就有提到过,Laravel中所有控制器都在 app/Http/Controllers/ 目录下。 控制器生成方式 利用自带的artisan生成。(<-推荐) 新建空白文件。...php Route::get('/', 'TestController@index');# 第一种,get请求"/"路径的请求转发到TestController中的index方法。...Route::get('/', ['uses' => 'TestController@index']);# 第二种,第一种功能一样,这里使用数组的方式可以很方便的在数组里添加其他字段来实现路由别名等功能

1.9K00

完善你的Laravel异常处理

这篇文章我们来简单梳理一下Laravel中提供的异常处理能力,然后讲一些在开发中使用异常处理的实践,如何使用自定义异常、如何扩展Laravel的异常处理能力。...Laravel的处理HTTP请求不成功时抛出此异常 扩展Laravel的异常处理器 上面说了Laravel把 \App\Exceptions\Handler 注册成功了全局的异常处理器,代码中没有被...这样在我们的控制器中就完全省略了判断表单验证是否通过如果不通过再输出错误响应给客户端的逻辑了,这部分逻辑交给了统一的异常处理器来执行能让控制器方法瘦身不少。...我见过很多人在 Repository或者 Service类的方法中会根据不同错误返回不同的数组,里面包含着响应的错误码错误信息,这么做当然是可以满足开发需求的,但是并不能记录发生异常时的应用的运行时上下文...QueryException实例传递给 PHP异常的堆栈,这提供给我们回溯整个异常的能力来获取更多上下文信息,而不是仅仅只是当前抛出的异常实例的上下文信息, 在错误收集系统可以使用类似下面的代码来获取所有异常的信息

2.7K20

Laravel框架关键技术解析

)即一个没有指定名称的函数,经常用做回调函数(callback)参数的值 2.匿名函数既可以作为参数传递给函数,也可以做为变量赋值,进而控制函数的执行过程;可以从父作用域中继承变量,使用use关键字来继承...3.Laravel框架中的应用:大量使用,如在服务提供者注册过程中,通过服务名称与提供服务的匿名函数进行绑定,在使用时可以实现动态服务解析。...框架中使用HTTP协议基础 A.HTTP发展与相关网络技术 1.wireshark B.HTTP协议简介 五、Laravel框架初识 A.Laravel框架应用程序目录结构 1.Laravel框架应用程序是符合...[/{参数名}……]} ‘,闭包函数或控制器响应函数标识)[->where(‘参数名’,'正则’)]; 路由命名:Route::get('资源标识’,[‘as’=>’命名’,uses=>闭包函数或控制器响应函数标识...……}); 2.控制器 通常放在laravel/app/Http/Controllers目录下,继承自Illuminate\Routing\Controller类,作为HTTP请求的二次分发控制部分,通过依赖注入解决了与路由的紧耦合关系

11.9K20

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

好了,不扯远了,我们直接来看看中间件在 Laravel 中,是如何使用的。 定义中间件 创建一个中间件也是可以通过命令行的。...前面在中间件中我们看到如果有 a 参数的话,我们会复制一个 aa 参数 中间件控制器我们准备好了,接下来就是如何使用中间件了,分几种情况,我们一个一个来说。...,我们还可以在某个控制器中定义要使用的中间件。...middleware(MiddlewareTest::class); } // …………………… // …………………… // …………………… } 在上面的测试代码中,我们使用的依然是上面那个路由相同的控制器方法.../Kernel.php 中定义的中间件数组放到路由对象 laravel/framework/src/Illuminate/Routing/Router.php 中。

2.6K50
领券