fredbradley/php-steer-api

STEER 跟踪 API 的 PHP 包装器

v1.0.5 2024-02-16 12:52 UTC

This package is auto-updated.

Last update: 2024-09-16 14:02:44 UTC


README

支持 Laravel Discovery

Latest Version on Packagist Total Downloads GitHub Actions

STEER 教育正在开发一个 API,用于访问学生的评估结果。由于我们已经在 Cranleigh 学校的辅导模块中建立了许多基础,所以我正在帮助他们做这件事。

此软件包是 STEER API 的 PHP 包装器。数据输出和代码交互的流畅性方面的建议或改进都欢迎。

安装与需求

此软件包需要 PHP 8.2 及以上版本。

您可以通过 composer 安装此软件包

composer require fredbradley/php-steer-api

使用方法

如果在开启 Laravel Discovery 的 Laravel 应用程序中

您需要在您的 .env 文件中添加以下内容

STEER_API_KEY=
STEER_SUBSCRIPTION_KEY=
STEER_BASE_URL=

配置文件可发布,但您不需要更改任何内容。

依赖注入

该软件包将自动将 SteerConnector 类注册为单例。然后您可以将 SteerConnector 类用作您类中的依赖项。

门面

如果您选择这种方式工作,该软件包附带一个门面。示例

use FredBradley\PhpSteerApi\Facades\Steer;
use FredBradley\PhpSteerApi\QueryBuilder;

// Set the Query Builder
$query = (new QueryBuilder())->setYear(2022);
// Get the Data
$data = Steer::getAssessmentData($query)->object();

如果在任何 PHP 应用程序中作为独立软件包使用

$service = new \FredBradley\PhpSteerApi\SteerConnector($apiKey, $subscriptionKey, $baseUrl);
$service
  ->getAssessmentData(
    filters: [
      "house" => "Hufflepuff",
      "year" => 10
    ],
    year: 2019
  )
  ->object();

这将返回一个具有 data 属性的对象,该属性是一个对象数组。每个对象是 STEER 跟踪评估结果。

getAssessmentData 中的第二个参数(year)是可选的,如果未设置,则默认为当前学年。STEER API 携带过去 5 年的数据。

可用的过滤器有

  • house - 根据宿舍名称过滤
  • campus - 根据校园名称过滤
  • year - 根据年级组过滤
  • mis_id - 根据学生的 MIS ID 过滤
  • gender - 根据性别过滤(期望的值是 mf
  • round - 根据评估轮次过滤

如果没有设置过滤器,API 将返回当前学年的所有结果。

请在此处查看 示例输出

此软件包使用 Saloon API 软件包来执行 HTTP 请求。您可以在 此处 了解更多关于该软件包的信息。

缓存

默认情况下,该软件包将基于查询缓存唯一结果(10分钟)。它使用 Saloon 的 Local Filesystem 缓存驱动程序。您可以在 此处 了解更多。

测试

composer pest

变更日志

请参阅 CHANGELOG 以获取有关最近更改的更多信息。

贡献

请参阅 CONTRIBUTING 以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件 code@fredbradley.co.uk 联系,而不是使用问题跟踪器。

致谢

许可

MIT 许可证(MIT)。有关更多信息,请参阅 许可文件