mbvienasbaitas / strapi-php-client
PHP Client wrapper for Strapi API.
Installs: 2 076
Dependents: 1
Suggesters: 0
Security: 0
Stars: 5
Watchers: 0
Forks: 1
Open Issues: 1
pkg:composer/mbvienasbaitas/strapi-php-client
Requires
- php: ^8.1
- ext-json: *
- php-http/client-common: ^2.6
- php-http/discovery: ^1.14
- php-http/httplug: ^2.3
Requires (Dev)
- guzzlehttp/guzzle: ^7.5
- phpunit/phpunit: ^9.5
Suggests
- guzzlehttp/guzzle: Use Guzzle ^7 as HTTP client
- http-interop/http-factory-guzzle: Factory for guzzlehttp/guzzle
README
Installation
To get started, simply require the project using Composer.
You will also need to install packages that "provide" psr/http-client-implementation and psr/http-factory-implementation.
A list with compatible HTTP clients and client adapters can be found at php-http.org.
If you don't know which HTTP client to use, we recommend using Guzzle 7:
composer require mbvienasbaitas/strapi-php-client guzzlehttp/guzzle http-interop/http-factory-guzzle:^1.0
Usage
use MBVienasBaitas\Strapi\Client\Client; use MBVienasBaitas\Strapi\Client\Contracts\Requests\Collection\IndexRequest; use MBVienasBaitas\Strapi\Client\Contracts\Requests\Options\OptionLocale; use MBVienasBaitas\Strapi\Client\Contracts\Requests\Options\OptionSortAsc; $client = new Client('{url}', '{token}'); $request = IndexRequest::make( new OptionLocale('en'), new OptionSortAsc('title'), ); $endpoint = $client->collection('articles'); $response = $endpoint->index($request);
More usage examples can be found in examples folder.
Available request options
Each request can accept multiple options. Here is a list of all available options.
| Option | Description |
|---|---|
| OptionFields | Defines which fields to load. |
| OptionFilters | Applies specified filters. |
| OptionId | Sets active resource ID. |
| OptionJsonBody | Ads application/json body from a given array. |
| OptionLocale | Sets resource locale. |
| OptionPaginationOffset | Offset based pagination. |
| OptionPaginationPaged | Page based pagination. |
| OptionPopulateDeep | Sets populate option, requires strapi-plugin-populate-deep plugin to be installed in strapi build. |
| OptionPopulateNested | Defines which relations to load. |
| OptionPopulateWildcard | Loads all first level relations. |
| OptionPublicationStateLive | Set publication state to live. |
| OptionPublicationStatePreview | Set publication state to preview. |
| OptionSort | Define sorting options. |
| OptionSortAsc | Set single field sort in ascending order. |
| OptionSortDesc | Set single field sort in descending order. |
| OptionStreamBody | Set custom stream body, mainly used for media uploads. |
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
This package structure was inspired by meilisearch-php package.
Alternatives
License
The MIT License (MIT). Please see License File for more information.