Laravel 路由分层架构

  • 随着项目越来越大,路由也会越来越多;因此我们可以根据功能模块来划分路由,并将这些模块写入不同的文件。以下就是一个小例子
1. 在app/routes 下新建一个目录存放各模块路由
843495-ee69c31e220897ba.png
路由模块
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');
});

猜你喜欢

转载自blog.csdn.net/weixin_33862041/article/details/87227085