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 think\facade\Route;

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

 

現在再訪問admin應用Index.php控制器下面的方法,訪問路徑應該為:

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

 


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM