[笔记]laravel动态匹配路由的实现

当路由是根据后台配置或数据库动态生成时,可以直接在路由文件使用循环来创建。
例如:我建了一个多网站的系统,每个网站都有首页、列表页、详情页,但是如何根据url来区分不同的网站。

在web.php中增加路由

$list=['web1'=>'网站1','web2'=>'网站2'];//网站列表,每个网站都有一个标识。
foreach ($list as $key=>$val){ 
     Route::namespace('Web')->prefix($key)->group(function () use ($key){
        Route::get('/',ucwords($key).'Controller@index');
        Route::get('/index',ucwords($key).'Controller@index');
        Route::get('/list',ucwords($key).'Controller@list');
        Route::get('/info',ucwords($key).'Controller@info');
     });
}

这样当访问 /web1 就会执行 App\Http\Web\Web1Controller中的index方法。

本作品采用《CC 协议》,转载必须注明作者和本文链接
流年的旧吉他,弹不出时光的悲伤;慧极必伤,情深不寿
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 1

直接切换 Route::namespace('Web') 不是更好吗?为啥非要改控制器?

4年前 评论
李先生 (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!