ThinkPHP6.0多应用路由规则

Posted 飘柔2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP6.0多应用路由规则相关的知识,希望对你有一定的参考价值。

如果要使用多应用模式,你需要安装多应用模式扩展think-multi-app。

composer require topthink/think-multi-app
1
多应用目录结构如下:

├─app 应用目录
│ ├─index 主应用
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录
│ │ ├─route 路由目录
│ │ └─ ... 更多类库目录
│ │ 
│ ├─admin 后台应用
│ │ ├─controller 控制器目录
│ │ │ ├─Index.php 控制器类
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录
│ │ ├─route 路由目录
│ │ │ ├─route.php 路由定义文件
│ │ └─ ... 更多类库目录
│
├─public WEB目录(对外访问目录)
│ ├─admin.php 后台入口文件
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于apache的重写
│
├─config 全局应用配置目录
├─route 路由定义目录

 


当为多应用时,路由文件变到了对应应用下的route目录了,这个时候如果需要访问admin应用Index.php控制器下面的方法,访问路径应该为:

http://localhost/public/index.php/admin/Index/index
http://域名/public/入口文件/应用目录/控制器类/方法

可以通过新增入口文件,并指定应用目录,可以隐藏URL中应用目录,在public下新增admin.php文件,文件内容如下:

<?php

// [ 应用入口文件 ]
namespace think;

require __DIR__ . ‘/../vendor/autoload.php‘;

// 执行HTTP应用并响应
$http = (new App())->http;
// 指定应用目录为admin
$response = $http->name(‘admin‘)->run();

$response->send();

$http->end($response);

 


现在再访问admin应用Index.php控制器下面的方法,访问路径应该为:

http://localhost/public/admin.php/Index/index
http://域名/public/入口文件/控制器类/方法
1
2
再在admin应用目录下的route目录添加路由文件

<?php

use thinkfacadeRoute;

Route::get(‘test‘, ‘Index/index‘);

 

现在再访问admin应用Index.php控制器下面的方法,访问路径应该为:

http://localhost/public/admin.php/test
http://域名/public/入口文件/路由表达式

 


原文链接:https://blog.csdn.net/xiuliyan6124/article/details/103065406

以上是关于ThinkPHP6.0多应用路由规则的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp6.0 多应用模块下提示控制器不存在

ThinkPHP6

ThinkPHP6.0 模型创建方法

ThinkPHP 6 安装短网址路由配置 (v6.0.9)

layuiAdmin之iframe版部署到ThinkPHP6.0中

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段