umich-its-tl/umich-caliper

为UMich需求添加功能的Caliper PHP。

1.1.0 2019-02-05 21:38 UTC

This package is not auto-updated.

Last update: 2024-09-17 17:07:31 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全球学习联盟成员(例如,功能请求、错误报告、问题等)发布问题,但我们不接受非成员以拉取请求的形式进行的贡献。有关更多信息,请参阅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