Piwik \

FrontController

这个单例将请求分派给适当的插件控制器。

Matomo(以前是Piwik)对通过的所有请求使用这个类index . php.插件可以使用它来调用其他插件的控制器动作。

例子

转发控制器请求

公共函数myConfiguredRealtimeMap() {$_GET['changeVisitAlpha'] = false;$_GET[' removeoldvisitors '] = false;$_GET['showFooterMessage'] = false;return FrontController::getInstance()->dispatch('UserCountryMap', 'realtimeMap');}

使用其他插件控制器动作

公共函数myPopupWithRealtimeMap() {$_GET['changeVisitAlpha'] = false;$_GET[' removeoldvisitors '] = false;$_GET['showFooterMessage'] = false;$realtimeMap = FrontController::getInstance()->调度('UserCountryMap', 'realtimeMap');$view = new view ('@MyPlugin/myPopupWithRealtimeMap.twig');$view->realtimeMap = $realtimeMap;返回$ realtimeMap - >渲染();}

详细说明请参见文档在这里

方法

该类定义了以下方法:

getInstance ()

返回派生类的单例实例。如果尚未创建单例实例,则此方法将创建它。

签名

  • 它返回一个单例价值。

调度()

执行请求的插件控制器方法。

签名

  • 它接受以下参数:

    • 美元的模块字符串) -要执行其控制器的插件名称,例如,“UserCountryMap”
    • 美元的行动字符串) -控制器方法名称,例如,“realtimeMap”
    • 美元的参数数组-传递给控制器方法的参数数组。
  • 返回:无效|混合—调用的返回值。这是控制器方法的输出。

  • 它会抛出以下异常之一:
    • 异常| \ \ PluginDeactivatedException Piwik \异常-如果插件不存在,动作不存在,没有足够的权限,等等。
Baidu