发送到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();返回视图- >渲染();}}
请继续阅读以了解更多关于此工作流中的各个组件的信息。