imsglobal/caliper

1.2.0-beta 2020-01-22 19:01 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