创建ThinkPHP8多应用项目

目录

多应用项目创建步骤

URL访问与设置

URL格式

隐藏URL中的应用名 domain_bind

设置应用别名 app_map

设置访问默认应用 default_app

增加入口文件改变访问方式


  • 多应用项目创建步骤

  1. 使用composer 安装thinkphp8单应用
    composer create-project topthink/think  myproject
  2. 在myproject根目录下加载多应用库
    composer require topthink/think-multi-app
  3. 在myproject根目录分别创建admin应用和api应用
    php think build admin
  4. 删除app目录下的controller文件夹

  5. 最终目录结构如下:

    ├─app 应用目录
    │  ├─api              主应用    //通过php think build api生成
    │  │  ├─controller      控制器目录
    │  │  ├─model           模型目录
    │  │  ├─view              视图目录
    │  │  ├─config            配置目录
    │  │  ├─route             路由目录
    │  │  └─ ...                 更多类库目录
    │  │ 
    │  ├─admin              后台应用    //通过php think build admin 生成
    │  │  ├─controller     控制器目录
    │  │  ├─model          模型目录
    │  │  ├─view            视图目录
    │  │  ├─config          配置目录
    │  │  ├─route           路由目录
    │  │  └─ ...            更多类库目录

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

    ├─config                全局应用配置目录
    ├─runtime              运行时目录
    │  ├─index             index应用运行时目录
    │  └─admin            admin应用运行时目录

  6. 在myproject根目录下运行
    php think run -p 80
  7. 在浏览器输入

    http://localhost/index.php/admin/index/index
    http://localhost/index.php/api/index/index

         输出相应内容就是成功了。

  • URL访问与设置

        默认是自动多应用模式,也就是可以通过index.php入口文件访问多个应用。

  • URL格式

  格式:http://serverName/index.php/应用名/控制器/操作/参数/值[...]  //PATHINFO模式

  例子:http://localhost/index.php/admin/index/hello

  • 隐藏URL中的应用名 domain_bind

       通过域名绑定应用,在myproject-->config-->app.php设置:

//通过二级域名绑定应用
'domain_bind' => [
    'domain'        =>  'admin',  // domain子域名绑定到admin应用
],

        重新访问:

   http://domain.域名.com/index.php/index/hello

//通过完整域名绑定
'domain_bind' => [
    'myapi.域名.com' =>  'api',  //  完整域名绑定到api应用
],

        重新访问:

   http://myapi.域名.com/index.php/index/hello      

        从上面两个访问URL可以看出在域名后面的应用名已经不存在了,对应的是不同的二级域名指向不同的应用。

  • 设置应用别名 app_map

        实际上就是通过映射给应用起另外一个名字

        在myproject-->config-->app.php设置:

'app_map' => [
    'myadmin'  =>  'admin',  // 把admin应用映射为myadmin
    'myapi'	   =>'api'
],

   原访问路径:http://localhost/index.php/admin/index/index

   现访问路径:http://localhost/index.php/myadmin/index/index

  • 设置访问默认应用 default_app

        在无配置默认应用的情况下, 直接访问入口文件会报页面错误。

   http://localhost/index.php

        在myproject-->config-->app.php设置:

// 设置默认应用名称
'default_app' => 'api',

   重新访问,默认跳转到api应用

  • 增加入口文件改变访问方式

        在myproject-->public文件夹下复制index.php 分别生成admin.php和api.php两个文件,这时自动多应用模式就失效了,要访问应用必须从不同的入口文件进入,原来的index.php入口无法再访问。

//访问admin应用
http://localhost/admin.php/index/index


//访问api应用
http://localhost/api.php/index/index


//从index.php入口会报页面错误
http://localhost/index.php/admin/index/index

上面URL路径不再出现应用名了,但是入口文件变成了"应用名.php",通过不同的入口文件进入到不同的应用中。

上述所有的内容只是简单介绍了怎样创建一个多应用项目,并列出了一些主要的配置,这些配置能够改变布署访问方式,当然还有更多的配置这里就不再一一列出了,tp官方有很详细的介绍。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值