smtech/canvaspest

此包已被废弃且不再维护。没有建议替代包。

对Pest的扩展,用于对Instructure Canvas API进行RESTful查询

v1.1.9 2017-06-14 02:09 UTC

This package is auto-updated.

Last update: 2023-05-25 12:43:06 UTC


README

Latest Version Scrutinizer Code Quality Code Coverage Build Status

使用PHP面向对象方式访问Canvas API。

安装

在你的 composer.json 中包含

"require": {
	"smtech/canvaspest": "1.*"
}

使用

CanvasPest

创建一个新的CanvasPest以向Canvas API发送RESTful查询

// construct with the API URL and an API access token
$api = new CanvasPest('https://canvas.instructure.com/api/v1', 'df2bcbad95f606d6e80093f8e40c4e5ca171d8c5e4f2138e1d58273e33b262ef')

对API进行RESTful查询

// GET, PUT, POST, DELETE are all supported
$obj = $api->get('users/self/profile');

查询的响应为 CanvasObjectCanvasArray(CanvasObjects的数组,当然),具体取决于您请求的是特定对象还是对象列表(即使列表实际上只有一个对象)。

CanvasObjects

可以通过对象风格或数组风格访问CanvasObject字段

$obj = $api->get('courses/123');
echo $obj['sis_course_id']; // array-style
echo $obj->title; // object-style

CanvasArrays

可以使用 foreach 控制结构方便地遍历CanvasArrays。

$arr = $api->get('/accounts/1/users');
foreach($arr as $obj) {
	echo $obj->name;
}

也可以访问CanvasArray的任意元素

$arr = $api->get('accounts/1/courses');
echo $arr[1337]->title;

请注意,CanvasObjects和CanvasArrays都是不可变对象 -- 即它们被视为只读。实际上,如果您尝试修改CanvasObject或CanvasArray,将会抛出异常。

完整API文档可在存储库中找到。