最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 开发技术 > PHP语言 >
laravel路由请求的方法是什么?路由传参怎样实现
PHP中文网发表于 2021-08-31 17:44 次浏览

    这篇文章主要给大家分享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('/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] ']);注意 : 路由参数不能包含中横线 "-",参数会被理解为变量名,所以不能有'-',下划线是可以滴;

    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('/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路由请求方式、路由传参就介绍到这了,希望大家阅读完这篇文章能有所收获,想要了解更多laravel路由的内容,请关注群英网络其它相关文章。

标签:laravel路由
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐
2021-04-23 16:58:49 关键词:php,laravel,nginx
摘要:下面由群英网络给大家介绍Laravel 路由研究之domain 解决多域名问题,希望对需要的朋友有所帮助!..