搜索
首页php框架Laravel详解Laravel之路由请求方式、路由传参

下面由Laravel教程栏目给大家介绍Laravel之路由请求方式、路由传参,希望对需要的朋友有所帮助!

1、路由请求方式____文件路径app->routes->web.php

//get请求方式
Route::get('user/show',function(){
    return '世间安得两全法,不负如来不负卿;万般皆是命,半点不由人';});
    //post请求方式
 Route::post('edit',function(){
    return '万般皆是命,半点不由人';}); 
    //多请求路由
    Route::match(['get','post'],'user/register',function(){
    return '多请求路由register';});
    //任意请求
    Route::any('user/wall'function(){
    return '任意请求';});

2、路由传参app->routes->web.php

//路由传参,可传多个参数
Route::get('user/{id}/{name}',function($id,$name){
    return '路由传参————'.$id.$name;});
    //路由可选参数
    Route::get('page/{page?}',function($page=1){
    return 'page'.$page;});

3、参数类型限制app->routes->web.php

//参数类型限制Route::get('choice/{id}/{name}',function($id,$name){
    return 'choice参数类型限制'.$id.$name;})->where(['id'=>'\d+','name'=>'[a-zA-Z]+']);

4、文件

1.2 配置虚拟主机

注意,在项目路径public下
修改虚拟主机配置文件,在apache添加如下代码:

<VirtualHost *:80>DocumentRoot "D:/xampp/htdocs/<project>/public"ServerName ddd.com</VirtualHost>host文件 127.0.0.1 ddd.com

第2章 路由器

路由简介
1,简单的说就是将用户的请求转发给相应的程序去处理
2,作用建立url和程序之间的映射
3,请求类型get,put,post,patch,delete等
任何框架都离不开路由器,TP是通过地址栏规则生成,如:xxx.com/home/user/add;
2.1 路由器如何调用控制器
laravel的路由器与控制器的关系,需要明确的在/routes/web.php
文件中明确定义.
格式如下 :

基础路由/*
当用 GET 方式访问 xx.com/yy 这个地址的时候用匿名函数去响应 .
*/Route::get(&#39;/yy&#39;, function(){return &#39;123&#39;;});/*
当用 POST 方式访问 xx.com/zz 这个地址时,用 匿名函数去响应 .
*/Route::post(&#39;/zz&#39;, function(){return &#39;123&#39;;});/*
当 GET 访问网站根目录 "/" 时,用第2个参数的匿名函数去响应 .
*/Route::get(&#39;/&#39;, function () {return &#39;hello&#39;;})多请求路由/*
不管是GET还是POST方法,访问 xx.com/user 时,都用 XxController 中的 method() 方法去响应 .
*/Route::match([&#39;get&#39;,&#39;post&#39;] , &#39;/user&#39; , &#39;XxController@method&#39;)/*
GET,POST,PUT,DELETE.. 任何方法访问 xx.com/test, 都用第2个参数中的匿名函数去响应 .
*/Route::any(&#39;/test&#39;, function () {return &#39;Hello World&#39;;});注意: 如果同一个路由被写了2次
则以最后一次路由为准!

2.2路由器与传递参数

/*
下例是指 xx.com/user/123 这样的 URL,user 后面的值将会捕捉到,
并自动传递给控制器的方法或匿名函数
*/Route::get(&#39;user/{id}&#39;, function ($id) {return &#39;User &#39;.$id;});/*
下例是指 xx.com/user/{name}/{id} 这样的 URL,user 后的参数,
会被捕捉到 , 并自动传递给控制器的方法或匿名函数
*/Route::get(&#39;user/{name}/{id}&#39;, function ($name, $id) {return &#39;user_&#39;.$name.$id;});如果没有传递参数,则会报错;2.3 传递可选参数
在路由 参数 的花括号最后 加上 ?(问号) 即可
Route::get(&#39;user/{name?}&#39;, function ($name = null) {return $name;});Route::get(&#39;user/{name?}&#39;, function ($name = &#39;John&#39;) {return $name;});

2.4 参数限制

在 TP 中,自动验证写在 Model 里,不够灵活. laravel把参数限制写在方法或者路由中.普通形式:->where(&#39;要限制的参数名&#39;,&#39;限制规则(正则,不用斜线//)&#39;);数组形式:->where([&#39;要限制的参数名1&#39;=>&#39;限制规则1(正则,不用斜线//)&#39;,&#39;要限制的参数名2&#39;=>&#39;限制规则2(正则,不用斜线//)&#39;]);Route::get(&#39;user/{name}&#39;, function ($name) {//})->where(&#39;name&#39;, &#39;[A-Za-z]+&#39;);Route::get(&#39;user/{id}&#39;, function ($id) {//})->where(&#39;id&#39;, &#39;[0-9]+&#39;);Route::get(&#39;user/{id}/{name}&#39;, function ($id, $name) {//})->where([&#39;id&#39; => &#39;[0-9]+&#39;, &#39;name&#39; => &#39;[a-z]+&#39;]);注意 : 路由参数不能包含中横线 "-",参数会被理解为变量名,所以不能有&#39;-&#39;,下划线是可以滴;

                 1、路由请求方式____文件路径app->routes->web.php

//get请求方式Route::get('user/show',function(){
    return '世间安得两全法,不负如来不负卿;万般皆是命,半点不由人';});//post请求方式
 Route::post('edit',function(){
    return '万般皆是命,半点不由人';}); //多请求路由Route::match(['get','post'],'user/register',function(){
    return '多请求路由register';});//任意请求Route::any('user/wall'function(){
    return '任意请求';});

2、路由传参app->routes->web.php

//路由传参,可传多个参数Route::get('user/{id}/{name}',function($id,$name){
    return '路由传参————'.$id.$name;});//路由可选参数Route::get('page/{page?}',function($page=1){
    return 'page'.$page;});

3、参数类型限制app->routes->web.php

//参数类型限制Route::get('choice/{id}/{name}',function($id,$name){
    return 'choice参数类型限制'.$id.$name;})->where(['id'=>'\d+','name'=>'[a-zA-Z]+']);

4、文件

1.2 配置虚拟主机

注意,在项目路径public下
修改虚拟主机配置文件,在apache添加如下代码:

367e5423ee61f30ef297d66282a28f6fDocumentRoot "D:/xampp/htdocs/c70346ba2d7be186a93fef826469bd2f/public"ServerName ddd.comee672f0beb03b42be69279368a66a410host文件 127.0.0.1 ddd.com

第2章 路由器

路由简介
1,简单的说就是将用户的请求转发给相应的程序去处理
2,作用建立url和程序之间的映射
3,请求类型get,put,post,patch,delete等
任何框架都离不开路由器,TP是通过地址栏规则生成,如:xxx.com/home/user/add;
2.1 路由器如何调用控制器
laravel的路由器与控制器的关系,需要明确的在/routes/web.php
文件中明确定义.
格式如下 :

基础路由/*
当用 GET 方式访问 xx.com/yy 这个地址的时候用匿名函数去响应 .
*/Route::get('/yy', function(){return '123';});/*
当用 POST 方式访问 xx.com/zz 这个地址时,用 匿名函数去响应 .
*/Route::post('/zz', function(){return '123';});/*
当 GET 访问网站根目录 "/" 时,用第2个参数的匿名函数去响应 .
*/Route::get('/', function () {return 'hello';})多请求路由/*
不管是GET还是POST方法,访问 xx.com/user 时,都用 XxController 中的 method() 方法去响应 .
*/Route::match(['get','post'] , '/user' , 'XxController@method')/*
GET,POST,PUT,DELETE.. 任何方法访问 xx.com/test, 都用第2个参数中的匿名函数去响应 .
*/Route::any('/test', function () {return 'Hello World';});注意: 如果同一个路由被写了2次
则以最后一次路由为准!

2.2路由器与传递参数

/*
下例是指 xx.com/user/123 这样的 URL,user 后面的值将会捕捉到,
并自动传递给控制器的方法或匿名函数
*/Route::get('user/{id}', function ($id) {return 'User '.$id;});/*
下例是指 xx.com/user/{name}/{id} 这样的 URL,user 后的参数,
会被捕捉到 , 并自动传递给控制器的方法或匿名函数
*/Route::get('user/{name}/{id}', function ($name, $id) {return 'user_'.$name.$id;});如果没有传递参数,则会报错;2.3 传递可选参数
在路由 参数 的花括号最后 加上 ?(问号) 即可
Route::get('user/{name?}', function ($name = null) {return $name;});Route::get('user/{name?}', function ($name = 'John') {return $name;});

2.4 参数限制

在 TP 中,自动验证写在 Model 里,不够灵活. laravel把参数限制写在方法或者路由中.普通形式:->where('要限制的参数名','限制规则(正则,不用斜线//)');数组形式:->where(['要限制的参数名1'=>'限制规则1(正则,不用斜线//)','要限制的参数名2'=>'限制规则2(正则,不用斜线//)']);Route::get('user/{name}', function ($name) {//})->where('name', '[A-Za-z]+');Route::get('user/{id}', function ($id) {//})->where('id', '[0-9]+');Route::get('user/{id}/{name}', function ($id, $name) {//})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);注意 : 路由参数不能包含中横线 "-",参数会被理解为变量名,所以不能有'-',下划线是可以滴;

以上是详解Laravel之路由请求方式、路由传参的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:csdn。如有侵权,请联系admin@php.cn删除
laravel单点登录方法详解laravel单点登录方法详解Jun 15, 2022 am 11:45 AM

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于单点登录的相关问题,单点登录是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,下面一起来看一下,希望对大家有帮助。

一起来聊聊Laravel的生命周期一起来聊聊Laravel的生命周期Apr 25, 2022 pm 12:04 PM

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于Laravel的生命周期相关问题,Laravel 的生命周期从public\index.php开始,从public\index.php结束,希望对大家有帮助。

laravel中guard是什么laravel中guard是什么Jun 02, 2022 pm 05:54 PM

在laravel中,guard是一个用于用户认证的插件;guard的作用就是处理认证判断每一个请求,从数据库中读取数据和用户输入的对比,调用是否登录过或者允许通过的,并且Guard能非常灵活的构建一套自己的认证体系。

laravel中asset()方法怎么用laravel中asset()方法怎么用Jun 02, 2022 pm 04:55 PM

laravel中asset()方法的用法:1、用于引入静态文件,语法为“src="{{asset(‘需要引入的文件路径’)}}"”;2、用于给当前请求的scheme前端资源生成一个url,语法为“$url = asset('前端资源')”。

实例详解laravel使用中间件记录用户请求日志实例详解laravel使用中间件记录用户请求日志Apr 26, 2022 am 11:53 AM

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于使用中间件记录用户请求日志的相关问题,包括了创建中间件、注册中间件、记录用户访问等等内容,下面一起来看一下,希望对大家有帮助。

laravel中间件基础详解laravel中间件基础详解May 18, 2022 am 11:46 AM

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于中间件的相关问题,包括了什么是中间件、自定义中间件等等,中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制,下面一起来看一下,希望对大家有帮助。

laravel的fill方法怎么用laravel的fill方法怎么用Jun 06, 2022 pm 03:33 PM

在laravel中,fill方法是一个给Eloquent实例赋值属性的方法,该方法可以理解为用于过滤前端传输过来的与模型中对应的多余字段;当调用该方法时,会先去检测当前Model的状态,根据fillable数组的设置,Model会处于不同的状态。

laravel路由文件在哪个目录里laravel路由文件在哪个目录里Apr 28, 2022 pm 01:07 PM

laravel路由文件在“routes”目录里。Laravel中所有的路由文件定义在routes目录下,它里面的内容会自动被框架加载;该目录下默认有四个路由文件用于给不同的入口使用:web.php、api.php、console.php等。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版