Matomo如何处理HTTP请求

发送到Matomo(以前是Piwik)的报告端(而不是Matomo的跟踪端)的每个请求都被发送到index . php在Matomo的根目录下。类的实例FrontController并使用它来分派当前请求。

FrontController查找模块而且行动查询参数。如果行动是否缺失,是否采用默认值“指数”.Matomo然后调用匹配的控制器方法:

Piwik \ Plugins \ <模块> \控制器::> <行动

例子:

  • 模块= MyPlugin&action =你好将调用:

    Piwik \ Plugins \并且\控制器::你好()
  • 模块=并且将调用:

    Piwik \ Plugins \并且\控制器:指数()

控制器方法有一件事要做:返回字符串响应(或任何可以转换为字符串的对象)。这样的字符串可以包含HTML, JSON,…

作为一个插件开发人员,你可以用任何你喜欢的方式来做这件事,Matomo不会阻止你,但是Matomo的其他部分使用的约定是创建一个Matomo视图,查询api以请求所需的数据,然后呈现视图。例如:

class Controller extends \Piwik\Plugin\Controller{公共函数索引(){$view = new view ("@MyPlugin\index.twig");$view->data = \Piwik\Plugins\MyPlugin\API::getInstance()->getData();返回视图- >渲染();}}

请继续阅读以了解更多关于此工作流中的各个组件的信息。

Baidu