- 随着项目越来越大,路由也会越来越多;因此我们可以根据功能模块来划分路由,并将这些模块写入不同的文件。以下就是一个小例子
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');
});