Code前端首页关于Code前端联系我们

ThinkPHP6增加了“多种应用”,与ThinkPHP5有何不同?

terry 2年前 (2023-09-24) 阅读数 67 #后端开发

ThinkPHP6有一个新术语叫“多应用”,ThinkPHP5中没有这个术语。那么这是什么?我们来听听作者王雪芹在中文php网站上的讲解...

首先我们看一下ThinkPHP6官方手册关于各种应用程序的目录结构:

├─app 应用目录
│  ├─index              主应用
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录(优先)
│  │  └─ ...            更多类库目录
│  ├─admin              后台应用
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录(优先)
│  │  └─ ...            更多类库目录

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

├─config                应用配置目录
│  ├─index              index应用配置
│  └─admin              admin应用配置

├─view                视图目录
│  ├─index              index应用视图目录
│  └─admin              admin应用视图目录

├─route                 路由定义目录
│  ├─index              index应用路由定义目录
│  └─admin              admin应用路由定义目录

├─runtime               运行时目录
│  ├─index              index应用运行时目录
│  └─admin              admin应用运行时目录
(来源于:ThinkPHP6.0快速开发手册(案例版))

哦,从这个角度来看,ThinkPHP6的各种应用程序是这样的,前台index应用,后台admin应用,这就是所谓的各种应用。

因此,在使用ThinkPHP5时,我们还开发了前端应用索引和后端应用管理。有什么不同?

区别一:必须通过composer下载才可以使用。

ThinkPHP6 框架默认下载单个应用程序。如果要使用多个应用程序,则需要下载:

composer require topthink/think-multi-app

区别二:路由定义必须在当前应用程序中。

我们知道,在ThinkPHP5中,我们可以在根目录中定义路由文件,但是ThinkPHP6之后,必须在应用程序目录中定义路由。

区别3:ThinkPHP6支持应用程序门户。

在ThinkPHP6中,我们可以为应用程序设置单独的入口文件。例如,对于admin应用程序,我可以设置入口文件admin.php来访问。

区别四:应用程序绑定域名。

例如在ThinkPHP5中,指定路由www.a.com/index/index/company.html后,我们可以得到这样的效果 www.a.com/company 。 html

但是在ThinkPHP6中,你会发现无论你如何设置路由,都无法去掉索引应用。它始终是www.a.com/index/company.html。如何解决?

那么解决办法就是使用域名绑定应用程序。我们在配置文件config/app.php中定义域名和应用名称绑定,如下:

'domain_bind' => [
'www.a.com' => 'index', // 域名绑定到www应用
'admin.a.com' => 'admin', // admin绑定到后台应用
],

这样我们就可以使用www.a.com/company.html参观

结论:

总的来说,多应用ThinkPHP6相比ThinkPHP5还是有很大的进步的。虽然第一次使用有点麻烦,需要下载作者,但这并不影响我们对多应用ThinkPHP6的青睐。 。

来源:php 作者认证中文网站:王雪芹

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门