visualappeal / matomo-php-api
matomo API的包装器
2.0.1
2023-06-23 08:00 UTC
Requires
- php: >=8.2
- ext-curl: *
- ext-json: *
- php-http/guzzle7-adapter: ^1.0
Requires (Dev)
- phpunit/phpunit: ^10.1
- roave/security-advisories: dev-latest
README
这是一个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
对于某些函数,您可以指定 segment
、idSubtable
和 expanded
。有关这些参数的更多信息,请参阅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();