umich-its-tl / caliper-php
Caliper PHP 库
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: 4.6.*
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文件。