🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 插件路由 默认情况下我们的插件前台访问地址是 http://网址/addons/插件名称/控制器/操作方法 例如访问demo插件的Index控制器,index操作方法,那么地址如下: http://网址/addons/demo/index/index ## 自定义路由 我们可以通过自定义路由实现个性化插件访问,有自动自定义路由或手动自定义路由方式。 路由参考链接:https://www.kancloud.cn/manual/thinkphp6_0/1037495 <blockquote class="danger"><p>注意:2.1.220220版本暂时只能手动写路由。</p></blockquote> - 手动写路由 如下,定义好后浏览器访问:http://xxxx.com/ceshi ,就能去到demo插件下的Index控制器下的index操作方法 ~~~ /** * 插件初始化 */ public function addonsInitHook() { $execute = '\\think\\addons\\Route::execute'; // url地址,即浏览器输入的地址 \think\facade\Route::rule('/ceshi', $execute) ->append([ 'addon' => 'demo',// 插件名称 'controller' => 'index',//控制器 'action' => 'index' //操作方法 ]); } ~~~ ## 自动导入路由文件 在插件根目录下新建`route.php`文件,路径为:addons/插件名称/route.php 示例如下:定义好后浏览器访问:http://xxxx.com/ceshi ,就能去到demo插件下的Index控制器下的index操作方法。 ~~~ <?php return [ // url地址=>插件名称/控制器/操作方法 'ceshi'=>'demo/index/index' ]; ~~~ - **域名形式** 下面绑定了两个域名,那么访问地址是:http://demo.xxxx.com/ceshi,以及 http://local.xxx.com/ceshi ~~~ <?php return [ [ 'domain' => 'demo', 'rule' => [ 'ceshi'=>'demo/index/index' ] ], [ 'domain' => 'local', 'rule' => [ 'ceshi'=>'demo/index/index' ] ] ]; ~~~ > 若要实现动态,例如给到用户来配置路由,那么你在这个文件里面可以查询数据库,按如上数组格式返回即可