ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,更注重易用性。遵循Apache2开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产品发布/销售。
今天就来给大家分享一下ThinkPHP6中,如何基于多应用定义路由配置。该篇文章需要注意的是,官方文档说的多应用是针对多个域名,而本篇文章是基于同一个域名来实现多应用。
第一步肯定是需要安装ThinkPHP6官方框架,这里就直接省略这一步。接下来就是安装多应用的组件包。
composer require topthink/think-multi-app
接下来,创建这样的目录结构。
├── app
│ ├── admin
│ │ ├── controller
│ │ │ ├── admin
│ │ │ └── api
│ │ ├── route
app.php
的文件,为具体的路由文件,所有的应用路由都是定义在这里。第二步在route
目录下的app.php
文件定义路由。假设我们在admin目录下定义了一个MenuController的控制器,里面有一个create方法。此时的路由就应该这么定义。
Route::group("menu", function () {
Route::get("create", "admin.menu/create");
});
上面的admin.menu
是ThinkPHP中的一个分层控制器定义规则。
上面定义好了路由,接下来就可以进行访问。按照上面定义的规则,我们可能会直接去这样访问https://域名/menu/create
,最终的结果是404。为什么会这样呢?这是因为你绑定多应用之后,在同一个域名下,没有做域名绑定,需要在域名后面添加一个应用名称
。
https://域名/admin/menu/create
。https://域名/admin/admin.menu/create
。原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。