ThinkPHP6增加了“多种应用”,与ThinkPHP5有何不同?
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前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。