FastAdmin插件路由解析原理
插件路由案例
以FastAdmin中的CMS插件为例
它的路由地址为yourwebsite/addons/cms/index/index
,而它的实际路径是在网站根目录下的addons
文件夹中,并不是在ThinkPHP应用默认的application
目录下,所以如果没有进行过路由配置,这个路径应该无法被正确的解析。而在route.php
的配置文件中,也没有相关的路由解析。
插件路由原理解析
根据FastAdmin 插件路由分析随笔这篇文章的描述,大致分析插件的路由会在vendor\karsonzhang\fastadmin-addons\src\common.php
文件中配置。
在该文件的第15行,找到相关配置。
打开ThinkPHP的调试模式,设置app_debug
为true。
打开任意一个页面,点开网页上的调试信息。
可以看到这个文件在Route.php
文件加载之后被加载了,所以addons
路径下的相关路由在运行时是被动态注册了的。
在该插件的composer.json
文件中,可以看到配置了common.php
这个文件需要被自动加载,所以才会在运行时,加载common.php
文件,动态配置插件路径的相关路由信息。