PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 1.3.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v1.3.1
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / Plugin / ProcessedMetric.php
matomo / app / core / Plugin Last commit date
Dimension 6 years ago API.php 6 years ago AggregatedMetric.php 6 years ago ArchivedMetric.php 6 years ago Archiver.php 6 years ago Categories.php 6 years ago ComponentFactory.php 6 years ago ComputedMetric.php 6 years ago ConsoleCommand.php 6 years ago Controller.php 6 years ago ControllerAdmin.php 6 years ago Dependency.php 6 years ago LogTablesProvider.php 6 years ago Manager.php 6 years ago Menu.php 6 years ago MetadataLoader.php 6 years ago Metric.php 6 years ago PluginException.php 6 years ago ProcessedMetric.php 6 years ago ReleaseChannels.php 6 years ago Report.php 6 years ago ReportsProvider.php 6 years ago RequestProcessors.php 6 years ago Segment.php 6 years ago SettingsProvider.php 6 years ago Tasks.php 6 years ago ThemeStyles.php 6 years ago ViewDataTable.php 6 years ago Visualization.php 6 years ago WidgetsProvider.php 6 years ago
ProcessedMetric.php
89 lines
1 <?php
2 /**
3 * Piwik - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 */
8 namespace Piwik\Plugin;
9
10 use Piwik\DataTable;
11 use Piwik\DataTable\Row;
12
13 /**
14 * Base type for processed metrics. A processed metric is a metric that is computed using
15 * one or more other metrics.
16 *
17 * @api
18 */
19 abstract class ProcessedMetric extends Metric
20 {
21 /**
22 * The sub-namespace name in a plugin where ProcessedMetrics are stored.
23 */
24 const COMPONENT_SUBNAMESPACE = 'Columns\\Metrics';
25
26 /**
27 * Computes the metric using the values in a {@link Piwik\DataTable\Row}.
28 *
29 * The computed value should be numerical and not formatted in any way. For example, for
30 * a percent value, `0.14` should be returned instead of `"14%"`.
31 *
32 * @return mixed
33 */
34 abstract public function compute(Row $row);
35
36 /**
37 * Returns the array of metrics that are necessary for computing this metric. The elements
38 * of the array are metric names.
39 *
40 * @return string[]
41 */
42 abstract public function getDependentMetrics();
43
44 /**
45 * Returns the array of metrics that are necessary for computing this metric, but should not
46 * be displayed to the user unless explicitly requested. These metrics are intermediate
47 * metrics that are not really valuable to the user. On a request, if showColumns or hideColumns
48 * is not used, they will be removed automatically.
49 *
50 * @return string[]
51 */
52 public function getTemporaryMetrics()
53 {
54 return array();
55 }
56
57 /**
58 * Executed before computing all processed metrics for a report. Implementers can return `false`
59 * to skip computing this metric.
60 *
61 * @param Report $report
62 * @param DataTable $table
63 * @return bool Return `true` to compute the metric for the table, `false` to skip computing
64 * this metric.
65 */
66 public function beforeCompute($report, DataTable $table)
67 {
68 return true;
69 }
70
71 /**
72 * @param Row $row
73 * @ignore
74 */
75 public function beforeComputeSubtable(Row $row)
76 {
77 // empty
78 }
79
80 /**
81 * @param Row $row
82 * @ignore
83 */
84 public function afterComputeSubtable(Row $row)
85 {
86 // empty
87 }
88 }
89