美文网首页
rf-article 插件路由跟踪

rf-article 插件路由跟踪

作者: Swerve | 来源:发表于2021-03-29 15:45 被阅读0次

backend/rf-article/adv/edit
根据历史经验,此路由对应的路径应该是 addons/RfArticle/backend/controllers/AdvController/actionEdit
但插件中并没有这个文件

开启断点调试进行跟踪
定位到 vendor/yiisoft/yii2/base/Module.php line 522 行,这里创建了controller

$parts = $this->createController($route);

F7进入方法内部
该文件的586行 存在一个 getModule($id)方法。进入该方法

if (isset($this->_modules[$id])) {
            if ($this->_modules[$id] instanceof self) {
                return $this->_modules[$id];
            } elseif ($load) {
                Yii::debug("Loading module: $id", __METHOD__);
                /* @var $module Module */
                $module = Yii::createObject($this->_modules[$id], [$id, $this]);
                $module->setInstance($module);
                return $this->_modules[$id] = $module;
            }
        }

这里通过类的私有属性_modules获取module信息

跟踪Module的私有变量如何生成

把该类里所有设置 _modules的方法都加上断点。
跟踪到文件 common/components/Init.php line 68

Yii::$app->setModules($this->getModulesByAddons());

跟踪到参数调用的方法
这里获取了所有已经安装的插件

if ($this->id == AppEnum::BACKEND && $addon['is_merchant_route_map'] == true) {
                $app_id = $merchant;
            }

第97行,判断,如果是后台,并且设置了数组中的 is-merchant_route_map为true时,会替换app_id
也即将默认的backend/controllers 替换为了 merchant/controllers
也即设置新插件时候的这一个选项作用


image.pngimage.png

相关文章

  • rf-article 插件路由跟踪

    backend/rf-article/adv/edit根据历史经验,此路由对应的路径应该是 addons/RfAr...

  • 计算机网络实验1

    temp note 抓包工具tracertTracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问...

  • react学习资料八

    路由 使用react的路由就要引入react路由插件react-router.js ReactRouter 保存一...

  • AE mocha插件跟踪相框合成教程

    光影7号-AE特效教程之-AE mocha插件跟踪相框合成教程 Ae mocha跟踪插件是ae软件中非常强大的平面...

  • Vue.js

    Target 01.常用插件:vue-awesome-swiper轮播图插件、 ***路由插件Router:基础:...

  • 一个简单路由的搭建

    1.安装插件 2.新建路由 3.路由跳转

  • 路由器插件如何从后台走向前台?

    提起路由器插件,大部分人可能不太了解,简单的说,路由器插件,就是安装在路由器上的app,是随着路由器硬件能力的提升...

  • vue-router用法记录

    Vue-Router简介 Vue-Router是Vue.js官方维护的路由插件,同时也是官方推荐的路由插件。它与V...

  • 跟踪路由工具Scapy

    scapy 是一块强大的交互式数据包处理工具、数据包生成工具、网络扫描器、网络发现工具和包嗅探工具。他提供多种类别...

  • 配置插件和生态环境

    2.1 核心插件 axios() vue-router(路由插件,必选) vuex(状态管理,可选) iconfo...

网友评论

      本文标题:rf-article 插件路由跟踪

      本文链接:https://www.haomeiwen.com/subject/cdubhltx.html