访问路由配置

ThinkAdmin 作为一款基于 ThinkPHP6 的多应用平台,其路由机制与 ThinkPHP5 存在显著区别。在 ThinkAdmin 中,路由被划分为全局路由和应用路由两大类。全局路由适用于整个系统,而应用路由则专注于各个独立的应用模块。这种设计使得路由管理更加灵活和高效,能够满足复杂应用的不同需求。同时,开发者也需要根据 ThinkPHP6 的路由规则来定义和管理路由,以确保系统的稳定运行和良好的用户体验。

全局路由配置

优化描述:

在ThinkAdmin中,全局路由具备监听根路径的能力,如 /my-test.html 等路径,都可通过全局路由进行处理。然而,全局路由的注册并非通过传统的配置文件或路由定义文件实现,而是需要在每个应用的 sys.php 文件或插件服务类中动态完成。

例如,在 admin 应用模块中,开发者可以在 admin/sys.php 文件中编写代码来注册全局路由。同样地,在应用插件的服务类中也可以进行全局路由的注册操作。这种动态注册的方式赋予了开发者更大的灵活性,可以根据应用需求实时调整路由规则,而无需修改框架的核心配置。

通过这一优化,ThinkAdmin 的路由管理更加高效和便捷,能够满足复杂应用场景的需求,提升开发效率和系统性能。同时,也要求开发者对 ThinkPHP6 的路由机制有深入的了解,以便正确地进行路由注册和管理。

# 访问入口 index.php
# 访问地址 https://yourdomain.com/demo
# 路由配置 app/admin/sys.php 当然放其他应用目录也是一样的
app()->route->get('demo','myself/test'); //-> /myself/test

应用路由配置

ThinkAdmin 中,路由的配置和管理是按模块进行划分的,每个模块拥有独立的路由配置,确保了模块间的路由互不干扰,提高了系统的可维护性和扩展性。 具体而言,每个模块的路由配置文件通常位于该模块的 route 目录下,例如 admin/route/demo.php。当系统启动时,会自动加载并应用这些路由配置文件。这意味着在应用模块或应用插件的 route 目录下的所有PHP文件都会被解析并生效,从而实现对应模块的路由功能。

这种按模块配置路由的方式,使得开发者可以更加清晰地组织和管理路由规则,避免了路由规则的混乱和冲突。同时,也使得不同模块之间的路由可以独立进化,互不干扰,提高了系统的灵活性和可定制性。 通过这一优化,ThinkAdmin 的路由管理更加规范化和模块化,为开发者提供了更加清晰和便捷的路由配置方式,提升了开发效率和系统性能。

# 访问入口 index.php
# 访问地址 https://yourdomain.com/admin/demo
# 路由配置 app/admin/route
app()->route->get('demo','test'); //-> /admin/test

# 访问入口 index.php
# 访问地址 https://yourdomain.com/admin/demo2
# 路由配置 app/admin/route
app()->route->any('demo2','user/index'); //-> /admin/user/index

做应用绑定,可以去除模块名称 如入口为admin.php,自动绑定应用为admin

# 访问入口 admin.php
# 访问地址 https://yourdomain.com/demo
# 路由配置 app/admin/route
app()->route->get('demo','test'); //-> /admin/test

由于多应用模式,默认绑定应用index

# 访问入口 index.php
# 访问地址 https://yourdomain.com/demo
# 路由配置 app/index/route
app()->route->get('demo','test'); //-> /index/demo

app()->route 只是一种调用方式,也可以用 return 返回数组。

Last Updated:
Contributors: 邹景立