visualappeal/matomo-php-api

matomo API的包装器

2.0.1 2023-06-23 08:00 UTC

This package is auto-updated.

Last update: 2024-09-23 10:43:29 UTC


README

PHPUnit Packagist

这是一个PHP包装类,用于Matomo API。

要求

  • 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();