Laravel 路由分层架构

  • 随着项目越来越大,路由也会越来越多;因此我们可以根据功能模块来划分路由,并将这些模块写入不同的文件。以下就是一个小例子
1. 在app/routes 下新建一个目录存放各模块路由
路由模块
2. 在web.php 中引入各模块的文件
<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

/*
 |--------------------------------------
 |  用户登录注册
 |--------------------------------------
 */
require_once __DIR__ . '/route/login_route.php';

/*
 |--------------------------------------
 |  门面 Facades
 |--------------------------------------
 */
require_once __DIR__ . '/route/facade_route.php';

/*
 |--------------------------------------
 |  缓存 redis
 |--------------------------------------
 */
require_once __DIR__ . '/route/cache_route.php';

/*
 |--------------------------------------
 |  ORM 学习
 |--------------------------------------
 */
require_once __DIR__ . '/route/orm_route.php';

/*
 |--------------------------------------
 | 会话控制
 |--------------------------------------
 */
require_once __DIR__ . '/route/session_route.php';
3.在具体的功能模块路由中写入我们需要的路由,比如以用户认证模块为例
/*
 |----------------------------------------------------------------------------------
 |  用户登录注册
 |----------------------------------------------------------------------------------
 */
Route::namespace('Learn')->group(function () {
    // 注册
    Route::get('go-to-register', 'UserController@goToRegister')->name('register.index');
    Route::post('register', 'UserController@register')->name('user.register');

    // 登陆页面
    Route::get('go-to-login', 'UserController@goToLogin')->name('login.index');
    Route::post('login', 'UserController@login')->name('user.login');

    // 退出登陆
    Route::get('loginout', 'UserController@loginOut')->name('user.loginout');

    // 获取登陆用户信息
    Route::get('profile', 'UserController@userInfo')->name('user.info')->middleware('checkauth');
});
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,854评论 18 139
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,008评论 2 89
  • Laravel 学习交流 QQ 群:375462817 本文档前言Laravel 文档写的很好,只是新手看起来会有...
    Leonzai阅读 8,023评论 2 12
  • 独坐小溪边, 清风徐徐来。 不为看风景, 心事谁能猜? ​​​
    渡岸孤山阅读 744评论 4 11
  • 【人间炼狱】目录 其实早在报警器响起之前,徐为就有种不好的感觉,这种感觉就像吃了大蒜一样让他作呕——他不喜欢大蒜这...
    神螺公公阅读 460评论 0 6