赞
踩
简介:
本文介绍如何在 ThinkPHP8 多应用或多路由模式下,在 Think-Swoole 中启动时访问子路由,解决路由不存在的问题。
app/
├── api/
│ ├── route/
│ │ ├── api.php
│ │ └── user.php
│ └── ...
├── adminapi/
│ ├── route/
│ │ ├── api.php
│ │ └── user.php
│ └── ...
└── route/
└── app.php
问题现象:
在 ThinkPHP8 中,使用 Think-Swoole 启动多应用或多路由模式时,访问子路由会提示路由不存在。
问题原因:
Think-Swoole 默认只加载根目录下的 route/app.php 路由文件,而子路由通常位于各个应用或路由目录下。
解决方案:
在 route/app.php 文件中,使用 glob 函数加载所有应用或路由目录下的路由文件,即可解决问题。
代码示例:
### 修改 route/app.php <?php use think\facade\Route; // 加载所有应用目录下的路由文件 foreach (glob(root_path() . 'app/' . '*', GLOB_ONLYDIR) as $path) { foreach (glob($path . '/route/' . '*') as $file) { if (is_file($file)) { include $file; } } } // 其他路由配置...
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。