mbvienasbaitas / strapi-laravel-client
Strapi Client wrapper for Laravel.
Installs: 1 587
Dependents: 0
Suggesters: 0
Security: 0
Stars: 10
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/mbvienasbaitas/strapi-laravel-client
Requires
- php: ^8.1
- illuminate/support: ^9.0|^10.0|^11.0
- mbvienasbaitas/strapi-php-client: ^v1.0
Requires (Dev)
- guzzlehttp/guzzle: ^7.5
- orchestra/testbench: ^7.19
- phpunit/phpunit: ^9.5
Suggests
- guzzlehttp/guzzle: Use Guzzle ^7 as HTTP client
- http-interop/http-factory-guzzle: Factory for guzzlehttp/guzzle
README
Laravel package to enable easier Strapi client management provided by mbvienasbaitas/strapi-php-client package.
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. which is required by mbvienasbaitas/strapi-php-client
composer require mbvienasbaitas/strapi-laravel-client
Usage
Default client configuration
Default client can be configured via environment. Here is a list of available configuration options.
| Environment variable | Description | 
|---|---|
| STRAPI_CLIENT | Default client configuration to be used. Defaults to default | 
| STRAPI_ENDPOINT | Endpoint url, eg.: https://localhost:1337 | 
| STRAPI_TOKEN | Bearer token used for authentication. | 
Default client using facade
use VienasBaitas\Strapi\Client\Contracts\Requests\Collection\IndexRequest; use VienasBaitas\Strapi\Client\Laravel\Facades\Strapi; $collection = Strapi::collection('pages'); $response = $collection->index(IndexRequest::make());
Default client using injection
use VienasBaitas\Strapi\Client\Client; use VienasBaitas\Strapi\Client\Contracts\Requests\Collection\IndexRequest; class BlogController { public function index(Client $client) { $collection = $client->collection('pages'); return $collection->index(IndexRequest::make()); } }
Custom client using facade
use VienasBaitas\Strapi\Client\Contracts\Requests\Collection\IndexRequest; use VienasBaitas\Strapi\Client\Laravel\Facades\Strapi; $client = Strapi::client('custom'); $collection = $client->collection('pages'); $response = $collection->index(IndexRequest::make());
Custom client using injection
use VienasBaitas\Strapi\Client\Contracts\Requests\Collection\IndexRequest; use VienasBaitas\Strapi\Client\Laravel\Contracts\Factory; class BlogController { public function index(Factory $factory) { $collection = $factory->client('custom')->collection('pages'); return $collection->index(IndexRequest::make()); } }
Using custom client and request factory interfaces
Custom client and request factory resolved implementations could be bound using built in resolver functionality.
Place snippets shown below in your ApplicationServiceProvider.
use VienasBaitas\Strapi\Client\Laravel\Strapi; Strapi::resolveRequestFactoryUsing(function () { // return \Psr\Http\Client\ClientInterface implementation }); Strapi::resolveRequestFactoryUsing(function () { // return \Psr\Http\Message\RequestFactoryInterface implementation });
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
Alternatives
License
The MIT License (MIT). Please see License File for more information.