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


Posted in PHP onNovember 23, 2019

本文实例讲述了laravel框架中路由设置,路由参数和路由命名。分享给大家供大家参考,具体如下:

laravel中必须先配置路由,才能使用。不像tp中不配置也能使用,因为tp可以通过pathinfo进行自动解析。

一、简单的路由设置

我们一般在routes/web.php文件中配置网页端路由。

//参数一,表示uri路径
//参数二,闭包函数,处理响应
Route::get('/test', function () {
  return '测试';
});

二、路由方法,处理特定http请求方式

Route::get('/', function () {});
Route::post('/', function () {});
Route::delete('/', function () {});

也可以通过Route::any()捕获任意请求方式

Route::any('/', function () {});

也可以通过Route::match()处理指定的请求方式

Route::match(['get', 'post'], '/', function () {});

三、将路由映射到控制器方法

Route::get('/hello', 'HelloController@index');

将/hello的处理映射到app/Http/Controllers/HelloController.php的index方法。

如果我们在Controllers目录下创建了多层目录,可以通过(目录\...\控制器@方法)的方式:

Route::get('/hello', 'Hello\HelloController@index');

四、路由参数

有些时候需要路由上传递参数,只需在路由路径中标识即可。

Route::get('/list/{page}', function ($page) {
  return "当前页数{$page}";
});

不过上面的page参数是必传的,如果没传将会报错找不到。这时候可以在标识后面加个?,表示可选,并给函数参数一个默认值。

Route::get('/list/{page?}', function ($page = 1) {
  return "当前页数{$page}";
});

我们也可以为路由参数设置正则规则,保证参数的正确性

Route::get('/search/{key?}/{page?}', function ($key = '', $page = 1) {
  return "搜索 {$key} 页数 {$page}";
})->where(['key' => '[A-Za-z]+', 'page' => '[0-9]+']);

获取路由参数

Route::get('/search/{key?}/{page?}', function (Request $req) {
  //获取单个路由参数
  var_dump($req::route('key'));
  //获取所有路由参数
  var_dump($req::route()->parameters());
});

通过Request::all()获取普通参数,类似?a=a&b=b&c=c

Route::get('/search/{key?}/{page?}', function (Request $req, $key = '', $page = 1) {
  var_dump($key);
  var_dump($page);
  var_dump($req::all());
});

五、路由命名

我们可以给路由设置一个名字,方便在视图中使用

Route::get('/list/{page?}', function ($page = 1) {
  return view('list', ['page' => $page]);
})->name('list.page');

我们在resources/views/list.blade.php视图中,通过 route() 方法来显示该路由地址

{{ route('list.page', ['page' => $page]) }}

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
十天学会php(1)
Oct 09 PHP
Windows中安装Apache2和PHP4权威指南
Nov 18 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
Jul 17 PHP
php使用sql数据库 获取字段问题介绍
Aug 12 PHP
模板引擎smarty工作原理以及使用示例
May 25 PHP
php检测图片主要颜色的方法
Jul 01 PHP
PHP实现的简单在线计算器功能示例
Aug 02 PHP
laravel 框架配置404等异常页面
Jan 07 PHP
PHP7数组的底层实现示例
Aug 25 PHP
php求斐波那契数的两种实现方式【递归与递推】
Sep 09 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
laravel框架创建授权策略实例分析
Nov 22 #PHP
laravel框架语言包拓展实现方法分析
Nov 22 #PHP
laravel框架邮箱认证实现方法详解
Nov 22 #PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 #PHP
PHP实现微信提现功能(微信商城)
Nov 21 #PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 #PHP
PHP框架实现WebSocket在线聊天通讯系统
Nov 21 #PHP
You might like
用PHP调用Oracle存储过程
2006/10/09 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
laravel请求参数校验方法
2019/10/10 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
2011/07/10 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
JavaScript中使用自然对数ln的方法
2015/06/14 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
2015/09/05 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
AngularJS中$http的交互问题
2017/03/29 Javascript
Angular2入门教程之模块和组件详解
2017/05/28 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
详解Angular6.0使用路由步骤(共7步)
2018/06/29 Javascript
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
[05:06]DOTA2-DPC中国联赛 正赛 VG vs Magma选手采访
2021/03/11 DOTA
python中使用序列的方法
2015/08/03 Python
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
Python实现的删除重复文件或图片功能示例【去重】
2019/04/23 Python
Python 复平面绘图实例
2019/11/21 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
Python中过滤字符串列表的方法
2020/12/22 Python
纯CSS3实现扇形动画菜单(简化版)实例源码
2017/01/17 HTML / CSS
自定义html标记替换html5新增元素
2008/10/17 HTML / CSS
和谐社区口号
2014/06/19 职场文书
社区护士演讲稿
2014/08/27 职场文书
大学校园餐饮创业计划书
2019/08/07 职场文书
PyQt5爬取12306车票信息程序的实现
2021/05/14 Python
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP