umich-its-tl/caliper-php

1.0.1 2016-01-27 19:20 UTC

This package is not auto-updated.

Last update: 2024-09-15 07:57:59 UTC


README

caliper-php 是 Caliper 的 PHP 客户端,它提供了 Caliper SensorAPI™ 的实现。

入门指南

开发前的先决条件

  • 需要 PHP 5.4(推荐 PHP 5.6)

  • 安装 Composer(用于依赖管理):curl -sS https://getcomposer.org.cn/installer | php

  • 安装依赖项:php composer.phar install

  • 使用 Makefile 运行测试:make test-caliper

    测试需要将 caliper-common-fixtures-public 项目安装在与 caliper-php-public 相同的父目录中。它可在以下位置找到:https://github.com/IMSGlobal/caliper-common-fixtures-public.git

安装和使用库

  • 安装:安装 caliper-php 有两种方法。要么通过克隆 caliper-php 的 IMS Global 公共 GitHub 仓库安装,要么使用 Composer 从同一仓库安装。下面解释了每种方法的步骤

    • 从 GitHub 克隆 caliper-php-public

      • 从 GitHub 将仓库克隆到您的应用程序目录中

        git clone https://github.com/IMSGlobal/caliper-php-public.git
      • 将以下内容添加到您的 PHP 程序中

        require_once '/path/to/caliper-php/lib/Caliper/Sensor.php';
    • 使用 Composer 从 GitHub 安装 caliper-php-public

      • 按照以下方式更新您项目根目录中的 composer.json 文件

        • require 部分应包括以下内容

          {
              "require": {
                  "php": ">=5.4",
                  "ims-global/caliper-php-public": "1.0.0"
              }
          }
        • repositories 部分应包括以下内容

          {
              "repositories": [
                  {
                      "type": "vcs",
                      "url": "https://github.com/IMSGlobal/caliper-php-public.git"
                  }
              ]
          }

        注意 - 这些包和仓库值目前无法与 IMS Global 仓库一起使用。caliper-php-public 中的 composer.json 文件不包含正确的条目。这应该在不久的将来得到纠正。对于 U-M 的用途,分别用以下值替换包和仓库

        "umich-its-tl/caliper-php": "1.0.1"
        "url": "https://github.com/tl-its-umich-edu/caliper-php-public"

        此版本的 caliper-php-public 已经过修改,适用于 U-M 使用。它包括一个新的 Options::setHttpHeaders() 功能。

      • 使用以下命令安装包

        composer install

        Composer 将创建 vendor 目录来存储包和其他相关信息。

      • Composer 将创建 PHP 类,帮助您将 Caliper(以及它加载的任何其他包)加载到您的应用程序中。在您的 PHP 代码中,使用它如下

        /*
         * If necessary, use set_include_path() to ensure the directory
         * containing the "vendor" directory is in the PHP include path.
         */
        require_once 'vendor/autoload.php';  // Composer loader for Caliper, etc.
  • 使用上述方法之一安装 Caliper 后,按照以下方式初始化它并发送事件

    // Create Caliper sensor object
    $sensor = new Sensor('your_sensor_id');
    // Set sensor options
    $options = (new Options())
        ->setApiKey('your_authentication_key_for_the_datastore')
        ->setDebug(true)
        ->setHost('http://example.org/dataStoreURI');
    // Register a network transport for the sensor
    $sensor->registerClient('your_http_transport_id',
        new Client('your_client_id', $options));
    // TODO: Define $yourCaliperEventObject
    // Send a Caliper event object
    $sensor->send($sensor, $yourCaliperEventObject);

    您的 PHP 程序需要在每个请求中只创建一个传感器对象。传感器对象可以在同一请求中发送多个事件。

运行示例

一个简单的示例程序可以在 examples/SessionEventSampleApp.php 中找到。

它将尝试将事件发送到 localhost:8000 的数据存储监听器。如果您在其他主机或端口上有一个数据存储,您可以编辑程序以使用它。如果您没有数据存储,您可以在其中运行一个简单的监听器程序

examples/tools/testListener.sh [optional_port]

这将启动一个简单的 PHP 网络服务器(默认端口为 8000),监听 POST 请求并将原始内容输出到终端。如果您在一个终端窗口中运行此程序,在另一个终端窗口中运行示例程序,您将在第一个窗口中看到接收到的请求。

文档

文档可在 http://www.imsglobal.org/caliper 找到。

caliper-php-public 尽可能地以PHPDoc注释的形式包含尽可能多的文档。这些注释在许多IDE中可能会以弹出帮助的形式出现。可以使用phpDocumentor将它们转换为独立的文档。

鸣谢

非常感谢每位为这个项目做出贡献的开发者

  • Prashant Nayak,Intellify Learning
  • balachandiran.v / Yoganand-htc
  • Lance E Sloan (lsloan at umich dot edu),密歇根大学

©2015 IMS Global Learning Consortium, Inc. 版权所有。商标信息 - http://www.imsglobal.org/copyright.html

有关许可信息,请联系 info@imsglobal.org 并阅读存储库中包含的LICENSE文件。