前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Laravel踩坑日记之路由配置

Laravel踩坑日记之路由配置

作者头像
Meng小羽
发布2019-12-23 17:08:28
6980
发布2019-12-23 17:08:28
举报
文章被收录于专栏:Debug客栈

基本路由

基本路由配置
代码语言:javascript
复制
//基本配置路由
Route::get('jiben', function(){
    echo "Hello World!";
});

加载页面

代码语言:javascript
复制
//加载页面
Route::get('jiazai', function(){
    return view("home");
});
加载控制器
代码语言:javascript
复制
//加载控制器
Route::get('jiben2','JibenController@index');

创建控制器

手动创建

需要将已有控制器复制一份,并进行重命名,一定注意文件名必须和类名一致

aitisan创建
代码语言:javascript
复制
php artisan make:controller IndexController;

路由类型

类型
代码语言:javascript
复制
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
Get操作
代码语言:javascript
复制
//登录操作
Route::get('login', 'LoginController@index');
Post操作
代码语言:javascript
复制
//处理登陆操作
Route::post('check', 'LoginController@check');
Put操作

路由定义

代码语言:javascript
复制
//put请求
Route::get('putweb', 'LoginController@putweb');

//put请求处理页面
Route::put('put', 'LoginController@put');
Controller 控制器定义
代码语言:javascript
复制
/*
 * put操作
 */
public function putweb(){
    return view('putweb');  
}

/*
 * put处理操作
 */
public function put(){
    dd($_POST);
}
view 视图定义
代码语言:javascript
复制
<form action="put" method="post">
    {{--登陆防止跨站攻击--}}
    {{csrf_field()}}
    <input type="hidden" name="_method" value="put">
    <p>
        User:
        <input type="text" name="username" id="">
    </p>
    <p>
        Pass:
        <input type="password" name="password" id="">
    </p>
    <p>
        <input type="submit" value="提交">
        <input type="reset" value="重置">
    </p>
</form>

CSRF 保护

Laravel 可以轻松使地保护你的应用程序免受 cross-site request forgery (CSRF)攻击,跨站点请求伪造是一种恶意攻击,它凭借已通过身份验证的用户身份来运行未经过授权的命令。

一个路由实现多种请求

match请求

可以实现自定义请求。

代码语言:javascript
复制
Route::match(['get', 'post'], '/', "IndexController@index");
any请求

可以实现全部请求类型。

代码语言:javascript
复制
Route::any('/', "IndexController@index");

资源路由

实例

后台拥有很多模块,用户模块、管理模块(增、删、查、改)

代码语言:javascript
复制
Route::get('user/index', 'UserController@index');
Route::get('user/add',   'UserController@add');
Route::get('user/edit',  'UserController@edit');
Route::post('user/insert', 'UserController@insert');
Route::post('user/update', 'UserController@update');
Route::get('user/delete', 'UserController@delete');
资源路由
代码语言:javascript
复制
Route::resource('Admin','IndexController');


带参数的路由

1 带参数的路由
代码语言:javascript
复制
Route::get('user/del/{id}',function($id){
    echo $id;
});
2 带多个参数的路由
代码语言:javascript
复制
Route::get('userInfo/{name}/{sex}', function($name, $sex){
    echo $name;
    echo $sex;
});
3 设置路由默认值
代码语言:javascript
复制
//设置路由的默认值
Route::get('user/edit/{id?}', function($id="默认值"){
    echo $id;
});
4 带参数访问到控制器
代码语言:javascript
复制
//带参数访问控制器
Route::get('userInfo/{name}/{sex}',"IndexController@UserInfo");

//带参数访问控制器Demo
public function UserInfo($a, $b){
    var_dump($a);
    var_dump($b);
}

命名路由

代码语言:javascript
复制
Route::get('abc', 'IndexController@abc')->name('one');

# 获取别名的url地址
route('one');

#通过命名路由实现重定向
return redirect()->route('one');

路由组

中间件
命名空间
代码语言:javascript
复制
/*
 * 路由组 -- 后台
 */

Route::group(['namespace'=>'Admin'], function(){
    Route::get('admin', 'IndexController@index');
    Route::get('admin/user', 'UserController@index');
    Route::get('admin/goods', 'GoodsController@index');
});

/*
 * 路由组 -- 前台
 */

Route::group(['namespace'=>'Home'], function(){
    Route::get('/', 'IndexController@index');
});

本文链接:https://cloud.tencent.com/developer/article/1558157

本文采用CC BY-NC-SA 3.0 Unported协议进行许可,转载请保留此文章链接

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 加载页面
  • 创建控制器
  • 路由类型
  • 路由定义
  • CSRF 保护
  • 一个路由实现多种请求
  • 资源路由
  • 带参数的路由
  • 命名路由
  • 路由组
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档