TP6 多应用下路由设置


在TP6中,路由是基于应用的(也就是说路由是不支持跨应用的),对于多应用模式来说,一个常见的误区就是认为路由规则是全局的,但事实上是,路由并不能简化或改变URL地址中的应用名(或入口文件),这一点很鸡肋。

起初也不想搞路由,但是后来越看地址越绝的恶心。。。一会儿大写一会儿小写/(ㄒoㄒ)/~~

So,决定改善改善。

划重点:TP6中 尤其是多应用下,需在路由下面单独配置每个应用的路由规则。

在原框架目录中加入route文件夹:
www WEB部署目录(或者子目录)
├─app 应用目录
│ ├─app_name 应用目录
│ │ ├─common.php 函数文件
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录
│ │ ├─route 路由目录
│ │ └─ ... 更多类库目录
│ │
│ ├─common.php 公共函数文件
│ └─event.php 事件定义文件

├─config 全局配置目录
│ ├─app.php 应用配置
│ ├─cache.php 缓存配置
│ ├─console.php 控制台配置
│ ├─cookie.php Cookie配置
│ ├─database.php 数据库配置
│ ├─filesystem.php 文件磁盘配置
│ ├─lang.php 多语言配置
│ ├─log.php 日志配置
│ ├─middleware.php 中间件配置
│ ├─route.php URL和路由配置
│ ├─session.php Session配置
│ ├─trace.php Trace配置
│ └─view.php 视图配置

├─public WEB目录(对外访问目录)
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于apache的重写

├─extend 扩展类库目录
├─runtime 应用的运行时目录(可写,可定制)

├─route 路由文件夹

├─vendor Composer类库目录
├─.example.env 环境变量示例文件
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件

route 文件夹目录结构:
├─route 路由文件夹
│ ├─admin 后端应用文件夹
├─ ├─ ├─ route.php 路由文件
│─ ├─index 前端应用文件夹
├─ ├─ ├─ route.php 路由文件
│ └─.... 其他应用文件名

route.php文件大概内容:

<?php
/**
 * +----------------------------------------------------------------------
 * | API 路由中心
 * +----------------------------------------------------------------------
 */

use think\facade\Route;

//首页
Route::get('/', 'Tool/index');

//短地址路由
Route::get('dwz', 'Tool/durl');
//规则:
//Route::get(新路由地址, '控制器名/方法名(一般是方法名)');

举例:
原地址:http://servername/api/tool/durl
定义路由之后:http://servername/api/dwz

其他规则可以移步 https://www.kancloud.cn/thinkphp/thinkphp6-quickstart/1352495

声明:醉秋风|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - TP6 多应用下路由设置


做个优质普通人,没什么不好 。