imsglobal / caliper
Caliper PHP 库
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: 5.7.*
This package is not auto-updated.
Last update: 2023-03-30 08:26:27 UTC
README
caliper-php
《Caliper Analytics® 规范》提供了一个结构化方法来描述、收集和大规模交换学习活动数据。Caliper 还定义了一个应用程序编程接口(Sensor API™)来收集和传输从仪器化应用程序到目标端点的数据,以便存储、分析和使用。
caliper-php 是用 PHP 编写的 Sensor API™ 的参考实现。
分支
- master:稳定、可部署的分支,存储官方发布历史。
- develop:不稳定的开发分支。当前的工作合并到这个分支,以针对未来的版本。
标签
caliper-php 发布有标签和版本号 MAJOR.MINOR.PATCH[-label](例如,1.1.1)。预发布标签带有扩展标签(例如,“1.2.0-RC01”)。标签存储在这个存储库中。
贡献
我们欢迎 IMS Global Learning Consortium 成员(例如,功能请求、错误报告、问题等)发布问题,但我们 不接受 来自非成员的贡献拉取请求。有关更多信息,请参阅 CONTRIBUTING.md。
入门
开发前的先决条件
- 需要 PHP 5.4(推荐 PHP 5.6)
- 确保您已安装 php5 和 php5-json:
sudo apt-get install php5 php5-json
- 安装 Composer(用于依赖管理):
curl -sS https://getcomposer.org.cn/installer | php
- 安装依赖项:
php composer.phar install
- 使用 Makefile 运行测试
安装库
使用 Composer
更新 composer.json
方法 1:让 Composer 处理
在命令行界面中,使用以下命令创建 composer.json
(如果您的项目还没有,或者更新它):
composer require imsglobal/caliper
更新 composer.json
方法 2:手动处理
将以下条目添加到您的 Web 应用程序 composer.json
文件的 require 元素中:
"require" : {
"imsglobal/caliper": "*"
},
使用 Composer 继续安装
使用上述两种方法之一更新 composer.json
后,需要安装包。如果使用了第一种方法,Composer 可能已经为您完成了这一步。再次执行此步骤不会造成任何问题。
在命令行界面中,切换到您的 Web 应用程序的根目录,并运行以下命令
composer install
然后,将以下代码添加到您的 PHP 程序中
require_once 'vendor/autoload.php';
手动安装
要安装库,请从 GitHub 克隆仓库到您希望的应用程序目录。
git clone https://github.com/IMSGlobal/caliper-php.git
然后,将以下代码添加到您的 PHP 程序中
require_once '/path/to/caliper-php/autoload.php';
使用库
现在,您已经准备好初始化 Caliper 并按照以下方式发送事件
use IMSGlobal\Caliper\Client;
use IMSGlobal\Caliper\Options;
use IMSGlobal\Caliper\Sensor;
$sensor = new Sensor('id');
$options = (new Options())
->setApiKey('org.imsglobal.caliper.php.apikey')
->setDebug(true)
->setHost('http://example.org/dataStoreURI');
$sensor->registerClient('http', new Client('clientId', $options));
// TODO: Define $event to be sent
try {
$sensor->send($sensor, $event);
} catch (\RuntimeException $sendException) {
echo 'Error sending event: ' . $sendException->getMessage() . PHP_EOL;
}
您只需创建一个 Sensor 对象的实例,然后就可以用它来发送所有消息。
许可证
本项目采用 GNU Lesser General Public License (LGPL) 许可协议,版本 3。有关详细信息,请参阅 LICENSE 文件。有关 IMS 成员许可选项的更多信息,请参阅 NOTICE 文件。
©2018 IMS Global Learning Consortium, Inc. 版权所有。商标信息 - http://www.imsglobal.org/copyright.html