endeavour/groeigids-api-client
最新稳定版本:1.0.0
Composer 安装命令:
composer require endeavour/groeigids-api-client
包简介
Api client for importing GroeiGids articles
README 文档
README
The Groeigids API Client is a PHP library designed to interact with the Elkander Groeigids API, making it easy to fetch and manage articles and themes. Swagger documentation of the API can be found here.
Features
- Fetch articles and themes from the Groeigids API
- JSON schema validation for API responses
- Support for query parameters and sorting
- Custom exceptions for error handling
Requirements
- PHP 8.1+
- Composer
- A valid API key for the Groeigids API
- A PSR-18 compatible HTTP client
- A PSR-17 compatible HTTP factory implementation
Installation
To install the Groeigids API Client, use Composer:
composer require endeavour/groeigids-api-client
Configuration
To run integration tests, a .env file should be created in the root of the project with the following content:
GROEIGIDS_API_KEY=your-api-key-here
Usage
To use the Groeigids API Client, create an instance of the GroeigidsApiClient class:
use Endeavour\GroeigidsApiClient\Infrastructure\HttpClient\GroeigidsClient; $client = new GroeigidsClient( ClientInterface, RequestFactoryInterface, new ResponseDataBuilder(), new ResponseValidator(new Opis\Validator()), getenv('GROEIGIDS_API_KEY') );
Now fetching articles and themes is as simple as calling the fetchArticles and fetchThemeArticles methods:
$articles = $client->fetchArticles(); $themes = $client->fetchThemeArticles();
The fetchArticles and fetchThemeArticles methods accept an optional array of query parameters:
$articles = $client->fetchArticles(page: 1, size: 10); $themes = $client->fetchThemeArticles(page: 2, size: 50);
The fetchArticles and fetchThemeArticles methods also accept an optional TypedArray object containing sorting parameters:
$sortParameters = new TypedArray(SortParameter::class, [ new SortParameter('title', 'asc'), new SortParameter('order', 'desc') ]); $articles = $client->fetchArticles(sort: $sortParameters);
Other functions are available to fetch articles by ID, by breadcrumb or those modified after a certain date:
$articleById = $client->fetchArticle(1); $articleByBreadcrumb = $client->fetchArticleByBreadcrumb('article-breadcrumb'); $articlesAfterDate = $client->fetchModfifiedArticlesAfterDate(new DateTime('2020-01-01'))
Testing
To run the unit tests, use PHPUnit (make sure a .env file is present in the root of the project):
make up
make test
Contributing
Contributions are welcome!
Licence
This project is licensed under the MIT License.
统计信息
- 总下载量: 1.27k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-05-17