visualappeal / piwik-php-api

此软件包已被废弃且不再维护。作者建议使用visualappeal/matomo-php-api软件包。

Matomo API的包装器

2.0.1 2023-06-23 08:00 UTC

This package is auto-updated.

Last update: 2023-06-23 08:03:20 UTC


README

PHPUnit Packagist

Matomo API的PHP包装器类。

要求

  • PHP >= 8.0 (对于php 7.3/7.4请使用版本1.6.1)
  • cUrl (php-curl)
  • JSON (php-json)

安装

可以通过composer安装此库:composer require visualappeal/matomo-php-api

使用方法

创建Matomo实例

require(__DIR__ . '/vendor/autoload.php');

use VisualAppeal\Matomo;

$matomo = new Matomo('http://stats.example.org', 'my_access_token', 'siteId');

有一些基本参数(周期、日期、范围),您可以在开始时定义它们。它们不会改变,直到您通过以下方式重置它们

$matomo->reset();

因此,您可以执行多个请求而无需再次指定参数。

siteId

您网站的ID,单个数字,用逗号分隔的列表 "1,4,7",或 "all"

period

您请求的统计周期

Matomo::PERIOD_DAY
Matomo::PERIOD_WEEK
Matomo::PERIOD_MONTH
Matomo::PERIOD_YEAR
Matomo::PERIOD_RANGE

如果您将周期设置为 Matomo::PERIOD_RANGE,您可以通过以下方式指定范围

$matomo->setRange('2012-01-14', '2012-04-30'); //All data from the first to the last date
$matomo->setRange('2012-01-14', Matomo::DATE_YESTERDAY); //All data from the first date until yesterday
$matomo->setRange('2012-01-14'); //All data from the first date until now

如果您将其设置为除 Matomo::PERIOD_RANGE 之外的其他值,您可以通过以下方式指定日期

$matomo->setPeriod(x);
$matomo->setDate('2012-03-03');

Case x of PERIOD_DAY the report is created for the third of march, 2012
Case x of PERIOD_WEEK the report is created for the first week of march, 2012
Case x of PERIOD_MONTH the report is created for march, 2012
Case x of PERIOD_YEAR the report is created for 2012

date

通过以下方式设置日期

$matomo->setDate('YYYY-mm-dd');

或使用常量

$matomo->setDate(Matomo::DATE_TODAY);
$matomo->setDate(Matomo::DATE_YESTERDAY);

包括当前周的过去七周的报告

$matomo->setPeriod(Matomo::PERIOD_WEEK);
$matomo->setDate('last7');

不包括当前年的过去两年的报告

$matomo->setPeriod(Matomo::PERIOD_YEAR);
$matomo->setDate('previous2');

segment, idSubtable, expanded

对于某些函数,您可以指定 segmentidSubtableexpanded。有关这些参数的更多信息,请参阅 matomo 的分段文档API参考

format

通过以下方式指定输出格式

$matomo->setFormat(Matomo::FORMAT_JSON);

返回请求之前,JSON通过 json_decode 转换。

所有可用格式

Matomo::FORMAT_XML
Matomo::FORMAT_JSON
Matomo::FORMAT_CSV
Matomo::FORMAT_TSV
Matomo::FORMAT_HTML
Matomo::FORMAT_RSS
Matomo::FORMAT_PHP

示例

获取昨天的所有独立访客

require(__DIR__ . '/vendor/autoload.php');

use VisualAppeal\Matomo;

$matomo = new Matomo('http://stats.example.org', 'my_access_token', 1, Matomo::FORMAT_JSON);

$matomo->setPeriod(Matomo::PERIOD_DAY);
$matomo->setDate(Matomo::DATE_YESTERDAY);

echo 'Unique visitors yesterday: ' . $matomo->getUniqueVisitors();