Laravel5.5里面有4个默认的路由文件,其中web.php是默认路由文件,如果需要添加其他路由文件,按照以下步骤进行。

此处以添加网站home前端路由举例,我已经先在/app/Http/Controller/文件夹下创建了一个Home文件夹,这个文件夹下主要放网站前端控制器,其他步骤如下:

1. 在项目routes目录下添加路由文件home.php;

2. 修改/app/providers/RouteServiceProvider.php

(1)添加路由方法

protected function mapHomeRoutes()
{Route::prefix('home')->middleware('home')->namespace($this->namespace.'\Home')->group(base_path('routes/home.php'));
}

(2)将添加的路由方法加入map方法中执行

public function map()
{$this->mapApiRoutes();$this->mapWebRoutes();$this->mapHomeRoutes();    // 添加执行的路由方法
}

附完整的RouteServiceProvider.php代码:

<?phpnamespace App\Providers;use Illuminate\Support\Facades\Route;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;class RouteServiceProvider extends ServiceProvider
{/*** This namespace is applied to your controller routes.** In addition, it is set as the URL generator's root namespace.** @var string*/protected $namespace = 'App\Http\Controllers';/*** Define your route model bindings, pattern filters, etc.** @return void*/public function boot(){//parent::boot();}/*** Define the routes for the application.** @return void*/public function map(){$this->mapApiRoutes();$this->mapWebRoutes();$this->mapHomeRoutes();}/*** Define the "web" routes for the application.** These routes all receive session state, CSRF protection, etc.** @return void*/protected function mapWebRoutes(){Route::middleware('web')->namespace($this->namespace)->group(base_path('routes/web.php'));}/*** Define the "api" routes for the application.** These routes are typically stateless.** @return void*/protected function mapApiRoutes(){Route::prefix('api')->middleware('api')->namespace($this->namespace)->group(base_path('routes/api.php'));}protected function mapHomeRoutes(){Route::prefix('home')->middleware('home')->namespace($this->namespace.'\Home')->group(base_path('routes/home.php'));}}

3. 在/app/Http/Kernel.php中添加home类名及其路径

protected $routeMiddleware = ['auth' => \Illuminate\Auth\Middleware\Authenticate::class,'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,'can' => \Illuminate\Auth\Middleware\Authorize::class,'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,// 根据之前设置的路由规则名(home)对应添加home类名,并指向路由验证路径'home' => \App\Http\Middleware\VerifyHome::class,
];

4. 在/app/Http/Middleware/文件夹下创建VerifyHome.php,并写入验证代码

代码如下:

<?php
namespace App\Http\Middleware;
use Closure;class VerifyHome
{public function handle($request, Closure $next){// if ("判断条件") {return $next($request);// }// 返回跳转到网站首页// return redirect('/');}
}

上面没有执行对home路由请求的验证,如果有需要自己加上。

5. 测试举例

(1)在home.php路由里添加两条路由规则,代码如下:

<?php
Route::get('aaa', 'IndexController@index');
Route::get('sss', 'IndexController@home');

(2)在/app/Http/Controller/Home/文件夹下创建IndexController.php,创建方式可以直接在文件夹下创建文件,也可以使用工具匠( php artisan make:controller Home\UserController ),控制器代码如下:

<?phpnamespace App\Http\Controllers\Home;use App\Http\Controllers\Controller;
use App\User;
use Illuminate\Http\Request;class IndexController extends Controller
{public function index(){echo "111222";}public function home(){echo "333";}
}

(3)访问测试:

a. 访问    laravel.com/home/aaa

b. 访问    laravel.com/home/bbb

  注意:访问默认路由web.php下的规则不用加web,访问其他路由文件需要加上在RouteServiceProvider.php中定义的路由名。

ok,可以按照你的模块架构分路由文件了!

因为确实这是第一次用laravel5.5,所以文中如有不足,请留言告知一下哈,感谢!

Laravel5.5添加新路由文件并制定规则相关推荐

  1. 如何在win10新建菜单添加新的文件类型

    介绍如何在win10新建菜单添加新的文件类型. 在新建菜单中添加新的文件类型 这里以.eps文件为例 原始新建菜单如下图: 第一步:打开注册表 快捷键win + R,输入regedit 第二步:在HK ...

  2. ubuntu添加路由_如何在Ubuntu,Linux中添加新路由?

    ubuntu添加路由 I have a box with Ubuntu Linux and I want to add a new route to my box. Because I want to ...

  3. network-scripts目录下添加新网卡文件方法、nmcli修改NAME网卡名称和DEVICE一致

    文章目录 说明 开启NetworkManager 添加网卡文件方式1[不建议用] 添加网卡文件方式2[建议用] 说明 在VMware的一台正在使用中的虚拟机中添加了几个新的网络适配器[已连接的那种] ...

  4. git cmd 命令在已有的仓库重新添加新的文件夹

    正确步骤:  1. git init //初始化仓库 git add .(文件name) //添加文件到本地仓库 git commit -m "first commit" //添加 ...

  5. source insight 4.0添加新的文件类型

    在阅读内核代码的时候,需要阅读设备树相关的代码,其后缀是 .dts   .dtsi  像这种后缀,source insight 默认是不识别的.因此需要手动添加. 添加的方式: 在 option -& ...

  6. 【Vue】添加新页面

    在[src\components\]路径下添加新vue文件,例如下图(图省事直接就复制了HelloWorld.vue,修改了一下里面的内容,需要懂html基础即可) 注意修改name 在[src\ro ...

  7. Linux下对文件的操作及添加新用户

    Linux下对文件的操作及添加新用户 一.对文件的操作 1.打包压缩文件 2.解压缩文件 3.对文件操作的其他命令 二.创建新用户 一.对文件的操作 1.打包压缩文件 2.解压缩文件 3.对文件操作的 ...

  8. android 按键kl文件,Android添加新按键

    1.前言 在Android开发中可能会遇到添加新的按键的需求,本文将简单介绍如何在Android系统中完成一个新的按键的添加. 当系统有新的按键需要添加时,Linux内核下的键码到Android系统中 ...

  9. sql server 快照_添加新文章,删除文章,更改快照文件夹路径和SQL Server复制中的数据筛选器行

    sql server 快照 In the last articles, we have learned Configuring Snapshot and Transactional SQL Serve ...

最新文章

  1. 线程、线程匿名内部类、解决线程不安全的方式
  2. 数组元素数组中的元素通过解析字符串参数获得
  3. 【重复提交表单】表单重复提交的三种情况,解决办法
  4. java文件和xml文件_用Java分割大型XML文件
  5. P1959 遗址_NOI导刊2009普及(6)
  6. 分布式光伏贷款欲破冰 多家银行推出相关业务
  7. Cisco路由配置命令
  8. 大话IT第13期:2011年云计算市场年中盘点
  9. 【学习OpenCV4】图像的模糊处理方法(均值滤波与高斯模糊)
  10. struts1.x 标签库
  11. Axure RP9的授权码
  12. php工程师绩效考核表_如何对程序员绩效考核?
  13. 物联网空气质量监测系统
  14. 关于wkhtmltopdf生成pdf空白
  15. Racket编程指南——2 Racket概要
  16. 30天自制操作系统第1天 - Hello World
  17. 轮式移动机器人轨迹跟踪的MATHLAB程序,运用运动学和动力学模型的双闭环控制
  18. 模拟登陆新版正方教务管理系统
  19. 统筹规划题:“服装店4个小组15天最多做多少套衣服裤子”的思路
  20. 基于javaweb的蓝天幼儿园管理系统(java+springboot+thymeleaf+html+mysql)

热门文章

  1. 计量经济学及Stata应用 第四章习题
  2. 自动控制原理上课笔记(不定期更新)
  3. 西门子200SMART(五) 符号块
  4. 【2020算法练习一】笔试算法题 快手2020校园招聘秋招笔试--算法A试卷
  5. 幼师计算机能力自我评价,幼师工作能力自我评价
  6. 由于找不到vcruntime140_1.dll,无法继续执行代码重新安装程序可能会解决此问题
  7. Java的isblank,strip方法找不到
  8. 著名的三门问题,是在 “胡扯” 吗?
  9. 二阶线性偏微分方程的分类和标准式 | 椭圆型、抛物线形、双曲线型 | 偏微分方程(十一)
  10. 职场人的购物清单出炉,来看看大家买了什么?