当前位置: 首页 > news >正文

【ThinkPHP6系列学习-2】多应用模式配置

这里写一写TP6下配置多应用。因为TP6和TP5有所差异,TP6默认是单应用模式(单模块),而我们实际项目中往往是多应用的(多个模块),所以在利用TP6是就需要进行配置,开启多应用模式。

目录

一、安装多应用模式

1、安装多应用模型

2、安装think-view扩展

二、删除app目录下的文件

三、创建新应用

四、配置默认应用

 五、修改伪静态

1、apache修改如下

2、nginx修改如下

六、配置环境变量

七、访问项目

八、回顾文件结构


一、安装多应用模式

1、安装多应用模型

进入到项目根目录,打开CMD,使用composer安装多应用模型

composer require topthink/think-multi-app

2、安装think-view扩展

在根目录下,使用composer安装think-view扩展,官方手册是这么说明的

视图功能由 \think\View 类配合视图驱动(也即模板引擎驱动)类一起完成,新版仅内置了PHP原生模板引擎(主要用于内置的异常页面输出),如果需要使用其它的模板引擎需要单独安装相应的模板引擎扩展。
如果你需要使用 think-template 模板引擎,只需要安装 think-view     模板引擎驱动。

composer require topthink/think-view

如果不安装扩展,使用在控制器使用 “return view()” 时,会报错。

在这里插入图片描述

二、删除app目录下的文件

删除app目录下自带的所有文件,因为多应用需要重新创建一套,所以原来的用不上,可以删掉

三、创建新应用

在app下创建新应用(新模块),比如在app下创建admin模块和index模块,可以代码创建也可以手动创建

php think make:controller admin@indexphp think make:controller index@index

创建成功后app下就会有admin和index两个文件夹,同时对应文件夹下会自动创建index.php控制器,,控制器里的代码可以直接使用。

 

 

四、配置默认应用

修改config/app.php,修改以下配置,没有的话就直接新添加

// 设置默认应用名称
'default_app' => 'home',
// 开启自动多模式
'auto_multi_app' => true,
// 开启应用快速访问
'app_express' => false,

 五、修改伪静态

1、apache修改如下

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [QSA,PT,L]
</IfModule>

2、nginx修改如下

location / {try_files $uri $uri/ /index.php?$query_string;index  index.html index.htm index.php;autoindex  on;if (!-e $request_filename) {rewrite  ^(.*)$ /index.php?s=/$1  last;break;}
}

六、配置环境变量

在项目文件夹下有一个“.example.env”环境变量示例文件,这个文件是示例文件,不是正式使用的文件,所以如果需要修改环境变量的话,可以新创建一个文件,命名为".evn"文件,可以把示例文件里的一些配置复制到新的evn文件里

// 开启调试模式
APP_DEBUG = true

七、访问项目

这时候就算大功告成了,可以直接输入域名访问项目了。

八、回顾文件结构

此时的文件结构如下,在app文件夹新创建了两个文件夹,index和admin,就是新创建的两个模块,每个模块下和TP5一样,都有controller文件、model文件、view文件,同时在每个模块下还可以有当前作用域下的相关文件(函数文件、配置文件等)。

www  WEB部署目录(或者子目录)
├─app           应用目录
│  ├─index           应用目录
│  │  ├─controller      控制器目录
│  │  │  ├─Index.php      控制器文件
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─common.php      函数文件
│  │  ├─config          配置目录
│  │  ├─route           路由目录
│  │  └─ ...            更多类库目录
│  ├─admin           应用目录
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  ├─common.php         公共函数文件
│  └─event.php          事件定义文件
├─config                全局配置目录
│  ├─app.php            应用配置
│  ├─cache.php          缓存配置
│  ├─console.php        控制台配置
│  ├─cookie.php         Cookie配置
│  ├─database.php       数据库配置
│  ├─filesystem.php     文件磁盘配置
│  ├─lang.php           多语言配置
│  ├─log.php            日志配置
│  ├─middleware.php     中间件配置
│  ├─route.php          URL和路由配置
│  ├─session.php        Session配置
│  ├─trace.php          Trace配置
│  └─view.php           视图配置
├─public                WEB目录(对外访问目录)
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写
│
├─extend                扩展类库目录
├─runtime               应用的运行时目录(可写,可定制)
├─vendor                Composer类库目录
├─.example.env          环境变量示例文件
├─composer.json         composer 定义文件
├─LICENSE.txt           授权说明文件
├─README.md             README 文件
├─think                 命令行入口文件
├─.env                  环境变量

多应用模式文件结构详细说明参看官方文档https://www.kancloud.cn/manual/thinkphp6_0/1037483

上一篇:【ThinkPHP6系列学习-1】下载并部署ThinkPHP6

下一篇:【ThinkPHP6系列学习-3】模板渲染 

http://www.lryc.cn/news/68624.html

相关文章:

  • Linux内核oops panic简析
  • Spark大数据处理讲课笔记4.8 Spark SQL典型案例
  • WhatsApp Business 多人使用终极指南
  • 布局和视图的常用属性
  • 解说天下之操作系统
  • Pruning 系列 (八)layer常用简枝(torch)方法
  • Gigabyte Z490 Vision D i9-10900k电脑 Hackintosh 黑苹果efi引导文件
  • UWB智慧工厂人员定位系统源码,人员在岗监控、车辆实时轨迹监控源码
  • 从认识元注解到使用元注解
  • 【C++从0到王者】第六站:类和对象(下)
  • AJax和Axios的讲解
  • 企业落地数字化转型,如何部署战略规划
  • 新的网络钓鱼即服务平台让网络犯罪分子生成令人信服的网络钓鱼页面
  • MySQL的隐式转换
  • LeetCode:23. 合并 K 个升序链表
  • js:正则表达式常用方法总结test、exec、match、matchAll、replace、replaceAll、search
  • 分析车载蓝牙通话只有前喇叭声音,后面喇叭无声背后原因
  • 高性能ADC/DAC FMC子卡推出-FMC164
  • Agisoft Metashape 红外影像处理
  • Mybatis从入门到入土
  • 修为 - 人生感悟
  • UnityWebSocket | 双端通信支持Text/Binary
  • lazada详情
  • 企业为什么要数字化转型?
  • Excel 设置只能输入指定的字符
  • Web开发介绍
  • 多语言APP的外包开发流程及注意事项
  • CMAKE介绍和使用(Windows平台)
  • 宝塔面板webhook 使用教程
  • 大模型时代入场级技能:提示词工程!中文教程来啦