All posts

thinkphp 多应用模式配置

一、安装多应用模式 1、安装多应用模型 进入到项目根目录,打开CMD,使用composer安装多应用模型 composer require topthink/thinkmultiapp 2、安装thinkview扩展 在根目录下,使用composer安装thinkview扩展,官方手册是这么说明的

一、安装多应用模式

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@index

php think make:controller index@index

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

四、配置默认应用

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

// 设置默认应用名称

'default_app' => 'home',

// 开启自动多模式

'automultiapp' => true,

// 开启应用快速访问

'app_express' => false,

五、修改伪静态

1、apache修改如下

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /index.php?/$1 [QSA,PT,L]

2、nginx修改如下

location / {

tryfiles $uri $uri/ /index.php?$querystring;

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>

Discussion

No comments yet