设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间01 现在时间01 缓存数据 轻轻的闭上眼睛,慢慢的酝酿心情,将白天所有烦恼不快撒向天空,随着流星的坠落一起沉淀,愿今夜有个好梦,晚安!

轻轻的闭上眼睛,慢慢的酝酿心情,将白天所有烦恼不快撒向天空,随着流星的坠落一起沉淀,愿今夜有个好梦,晚安!

查看: 1527|回复: 2

laravel框架中路由设置,路由参数和路由命名实例分析

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:224
  • 打卡月天数:0
  • 打卡总奖励:3283
  • 最近打卡:2025-04-14 12:30:20
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
406
主题
376
精华
0
金钱
4489
积分
834
注册时间
2023-1-5
最后登录
2025-4-14

发表于 2023-2-12 22:19:48 | 显示全部楼层 |阅读模式
本文实例讲述了laravel框架中路由设置,路由参数和路由命名。分享给大家供大家参考,具体如下:
laravel中必须先配置路由,才能使用。不像tp中不配置也能使用,因为tp可以通过pathinfo进行自动解析。
一、简单的路由设置
我们一般在routes/web.php文件中配置网页端路由。
  1. //参数一,表示uri路径
  2. //参数二,闭包函数,处理响应
  3. Route::get('/test', function () {
  4.   return '测试';
  5. });
复制代码
二、路由方法,处理特定http请求方式
  1. Route::get('/', function () {});
  2. Route::post('/', function () {});
  3. Route::delete('/', function () {});
复制代码
也可以通过Route::any()捕获任意请求方式
  1. Route::any('/', function () {});
复制代码
也可以通过Route::match()处理指定的请求方式
  1. Route::match(['get', 'post'], '/', function () {});
复制代码
三、将路由映射到控制器方法
  1. Route::get('/hello', 'HelloController@index');
复制代码
将/hello的处理映射到app/Http/Controllers/HelloController.php的index方法。
如果我们在Controllers目录下创建了多层目录,可以通过(目录\...\控制器@方法)的方式:
  1. Route::get('/hello', 'Hello\HelloController@index');
复制代码
四、路由参数
有些时候需要路由上传递参数,只需在路由路径中标识即可。
  1. Route::get('/list/{page}', function ($page) {
  2.   return "当前页数{$page}";
  3. });
复制代码
不过上面的page参数是必传的,如果没传将会报错找不到。这时候可以在标识后面加个?,表示可选,并给函数参数一个默认值。
  1. Route::get('/list/{page?}', function ($page = 1) {
  2.   return "当前页数{$page}";
  3. });
复制代码
我们也可以为路由参数设置正则规则,保证参数的正确性
  1. Route::get('/search/{key?}/{page?}', function ($key = '', $page = 1) {
  2.   return "搜索 {$key} 页数 {$page}";
  3. })->where(['key' => '[A-Za-z]+', 'page' => '[0-9]+']);
复制代码
获取路由参数
  1. Route::get('/search/{key?}/{page?}', function (Request $req) {
  2.   //获取单个路由参数
  3.   var_dump($req::route('key'));
  4.   //获取所有路由参数
  5.   var_dump($req::route()->parameters());
  6. });
复制代码
通过Request::all()获取普通参数,类似?a=a&b=b&c=c
  1. Route::get('/search/{key?}/{page?}', function (Request $req, $key = '', $page = 1) {
  2.   var_dump($key);
  3.   var_dump($page);
  4.   var_dump($req::all());
  5. });
复制代码
五、路由命名
我们可以给路由设置一个名字,方便在视图中使用
  1. Route::get('/list/{page?}', function ($page = 1) {
  2.   return view('list', ['page' => $page]);
  3. })->name('list.page');
复制代码
我们在resources/views/list.blade.php视图中,通过 route() 方法来显示该路由地址
  1. {{ route('list.page', ['page' => $page]) }}
复制代码
更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
12
积分
4
注册时间
2023-12-6
最后登录
2023-12-6

发表于 2025-1-9 00:10:12 | 显示全部楼层
路过,支持一下
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

  • 打卡等级:无名新人
  • 打卡总天数:1
  • 打卡月天数:0
  • 打卡总奖励:7
  • 最近打卡:2025-03-09 20:19:03
等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
20
积分
6
注册时间
2023-8-11
最后登录
2025-3-9

发表于 2025-4-6 12:43:32 | 显示全部楼层
感谢楼主分享。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表