fredbradley / php-steer-api
STEER 跟踪 API 的 PHP 包装器
Requires
- php: ^8.2
- league/flysystem: ^3.15
- saloonphp/cache-plugin: ^3.0
- saloonphp/saloon: ^3.0
Requires (Dev)
- laravel/pint: ^1.10
- mockery/mockery: ^1.6
- pestphp/pest: ^1.23
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.0
README
支持 Laravel Discovery
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- 根据性别过滤(期望的值是m或f)round- 根据评估轮次过滤
如果没有设置过滤器,API 将返回当前学年的所有结果。
请在此处查看 示例输出。
此软件包使用 Saloon API 软件包来执行 HTTP 请求。您可以在 此处 了解更多关于该软件包的信息。
缓存
默认情况下,该软件包将基于查询缓存唯一结果(10分钟)。它使用 Saloon 的 Local Filesystem 缓存驱动程序。您可以在 此处 了解更多。
测试
composer pest
变更日志
请参阅 CHANGELOG 以获取有关最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 code@fredbradley.co.uk 联系,而不是使用问题跟踪器。
致谢
许可
MIT 许可证(MIT)。有关更多信息,请参阅 许可文件。