think.studio / laravel-iprosoftware-api
Laravel 对 IproSoftware Api 的封装
4.1.0
2024-02-09 12:35 UTC
Requires
- php: ^8.1
- illuminate/support: ^10.0|^11.0
- think.studio/ipro-software-api-php: ^4.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.49
- mockery/mockery: ^1.6
- orchestra/testbench: ^8.0
- phpunit/phpunit: ^10.5
- psalm/plugin-laravel: ^2.8
- vimeo/psalm: ^5.21
README
注意:此包是 laravel-iprosoftware-api 的封装。所有预定义的 API 方法名称,您可以在 这里 找到
安装
您可以通过 composer 安装此包
composer require think.studio/laravel-iprosoftware-api
使用方法
使用预定义的方法
use LaravelIproSoftwareApi\IproSoftwareFacade as IproSoftware; /** @var \LaravelIproSoftwareApi\IproApiResponse $response */ $response = IproSoftware::getBookingRulesList(); $bookingRules = $response->json();
添加自定义方法(您可以使用任何服务提供者)
use LaravelIproSoftwareApi\IproSoftwareFacade IproSoftwareFacade::mergeMethods([ 'getReport' => ['get', 'property/%s/reports/1'], 'getTasks' => ['get', 'tasks'], ]); /** @var \LaravelIproSoftwareApi\IproApiResponse $response */ $response = IproSoftwareFacade::getReport($selectedProperty->getKey());
直接使用 GuzzleHttp 调用
use LaravelIproSoftwareApi\IproSoftwareFacade $propertyId = 22; /** @var \LaravelIproSoftwareApi\IproApiResponse $response */ $response = IproSoftwareFacade::httpClient()->get("property/$propertyId/reports/1", [ 'query' => [ 'foo' => 'bar', ], ]);
.env
IPROSOFTWARE_CLIENT_ID="my-client-id" IPROSOFTWARE_CLIENT_SECRET="my-secret-key" IPROSOFTWARE_API_HOST="http://myapp.i-pro3.co.uk"
配置文件
为了编辑此包的默认配置,您可以执行
php artisan vendor:publish --provider="LaravelIproSoftwareApi\ServiceProvider"
由于您通常需要在包更新时覆盖资产,您可以使用 --force
标志。
测试
composer test