kylewlawrence / infinity-laravel
Laravel 对 kylewlawrence/infinity-api-client-php 包的包装
Requires
- php: >=8.1
- illuminate/support: ^8.0|^9.0
- kylewlawrence/infinity-api-client-php: dev-main
README
此包提供了与 Infinity API 的集成。它支持创建看板、检索和更新项目、删除引用等。
该包简单地提供了一个 Infinity
门面,作为对 kylewlawrence/infinity-api-client-php 包的包装。
注意:当前仅支持基于 bearer 令牌的认证。
安装
您可以使用 Composer 安装此包
composer require kylewlawrence/infinity-api-client-php
如果您想使用门面,也必须安装它。
// config/app.php 'aliases' => [ .. 'Infinity' => KyleWLawrence\Infinity\Facades\Infinity::class, ];
配置
要发布配置文件到 app/config/infinity-laravel.php
,请运行
php artisan vendor:publish --provider="KyleWLawrence\Infinity\Providers\InfinityServiceProvider"
使用 环境变量 设置您的配置,可以在您的 .env
文件或服务器控制面板上
INF_TOKEN
API 访问令牌。您可以在 https://app.startinfinity.com/profile/developer/tokens
创建一个。
此包尚不支持 OAuth。
INF_DRIVER
(可选)
将其设置为 null
或 log
以防止从您的环境中直接调用 Infinity API。
贡献
如果您对 SDK(InfinityService 类)有任何问题/问题/请求,请前往 Infinity PHP SDK 仓库 进行那些请求。对 Laravel 包装器的拉取请求始终欢迎。我很快会跟进并制定贡献指南。在此期间,只需打开一个 issue 或创建一个 pull request 即可。
用法
门面
Infinity
门面作为 Infinity\Api\HttpClient
类实例的包装器。此类上可用的任何方法(此处有文档)都可通过门面提供。例如
// Get all Servers Infinity::boards()->getAll(); // Create a new board $newBoard = Infinity::boards()->create([ 'name' => 'Blah Blah', 'description' => 'Bler bleman blope', 'user_ids' => [1234, 1235, 12346], ]); print_r($newBoard); // Delete an item Infinity::boards('PWefUeHA8Pd')->items('8b9fee67-600c-499f-ab19-04bd9092be4e')->delete();
依赖注入
如果您不想使用门面,则可以跳过将别名添加到 config/app.php
,而是将 KyleWLawrence\Infinity\Services\InfinityService
注入到您的类中。然后,您可以像在门面上一样使用此对象上的所有相同方法。
<?php use KyleWLawrence\Infinity\Services\InfinityService; class MyClass { public function __construct(InfinityService $infinity_service) { $this->infinity_service = $infinity_service; } public function getBoards() { $this->infinity_service->boards()->getAll(); } }
此包可在 MIT 许可证 下使用。