前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Thinkphp6多应用路由管理

Thinkphp6多应用路由管理

原创
作者头像
Mandy的名字被占用了
发布2023-05-18 03:01:53
7440
发布2023-05-18 03:01:53
举报

ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,更注重易用性。遵循Apache2开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产品发布/销售。

今天就来给大家分享一下ThinkPHP6中,如何基于多应用定义路由配置。该篇文章需要注意的是,官方文档说的多应用是针对多个域名,而本篇文章是基于同一个域名来实现多应用。

目录说明

第一步肯定是需要安装ThinkPHP6官方框架,这里就直接省略这一步。接下来就是安装多应用的组件包。

代码语言:shell
复制
composer require topthink/think-multi-app

接下来,创建这样的目录结构。

代码语言:shell
复制
├── app
│   ├── admin
│   │   ├── controller
│   │   │   ├── admin
│   │   │   └── api
│   │   ├── route
  • admin为应用的目录。这里我们创建一个admin的应用。
  • admin.controller 为应用的controller层,文章演示用到了分层controller。这里分为api和admin。对应的控制器就在admin和api下进行创建。
  • route 为应用的路由文件,在该目录下存在一个app.php的文件,为具体的路由文件,所有的应用路由都是定义在这里。

路由定义

第二步在route目录下的app.php文件定义路由。假设我们在admin目录下定义了一个MenuController的控制器,里面有一个create方法。此时的路由就应该这么定义。

代码语言:php
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录说明
  • 路由定义
  • 路由访问
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档