Thinkphp6 多应用方式支持一个应用多个入口!

10 篇文章 0 订阅
6 篇文章 0 订阅

此方式参考 to5.1 开发的 海豚php  一个应用模块包含 admin  home  api 等多种方式,多一个方式就多一个入口文件。

思路是把入口文件的名称与控制器层(controller_layer)目录对应,然后将pathinfo的第一个路径作为应用的名称。相当于是把两个错位后达到的效果!

第一步:修改 MultiApp.php 189行setApp方法(必须先装多应用组件)
        //将多应用名称设置为控制器层!
        $this->app->config->set([ 'controller_layer' => $this->getScriptName()=='index'?'controller':''], 'route');
        //拆分并patinfo,将应用名称去除并重组
        $pathinfo_array = explode('/', \request()->pathinfo());
        $appName = $pathinfo_array[0];
        unset($pathinfo_array[0]);
        \request()->setPathinfo(join('/',$pathinfo_array)) ;
        //pathinfo中拆出应用名称并替换原来的应用名称
        $this->appName = $appName;

 第二步:在public 目录创建入口文件,并设置入口文件名称;

namespace think;

require __DIR__ . '/../vendor/autoload.php';
// 执行HTTP应用并响应
$http = (new App())->http;

$response = $http->name('api')->run();

$response->send();

$http->end($response);

 

访问 解释:

访问  http://serverName/index.php/index/index/index 指向的是 index应用下面controller的index控制器index方法

访问  http://serverName/admin.php/index/index/index 指向的是 index应用下面admin的index控制器index方法

访问  http://serverName/api.php/index/index/index 指向的是 index应用下面api的index控制器index方法

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值