mbvienasbaitas/strapi-php-client

PHP Client wrapper for Strapi API.

1.0.0 2023-01-23 11:17 UTC

This package is auto-updated.

Last update: 2024-04-23 14:37:22 UTC


README

Latest Version on Packagist Test Status Total Downloads

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.