mbvienasbaitas/strapi-laravel-client

Strapi Client wrapper for Laravel.
2,424 10
Install
composer require mbvienasbaitas/strapi-laravel-client
Latest Version:1.2.0
PHP:^8.1
License:MIT
Last Updated:Aug 17, 2026
Links: GitHub  ·  Packagist
Maintainer: edvinaskrucas

Strapi Laravel Client library

Latest Version on Packagist Test Status Total Downloads

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.

Related Packages

devio/pipedrive

Complete Pipedrive API client for PHP and/or Laravel

1,899,378 171
bigperson/laravel-vk-geo

Parse countries, regions and cities from vk.com api

440 14
artisaninweb/laravel-soap

A SoapClient wrapper integration for Laravel

4,865,935 629
atehnix/laravel-vk-requester

Laravel package for Vk.com API

3,446 74
vinelab/http

An http library developed for the laravel framework. aliases itself as HttpClien...

305,988 57