php-skir/client

Laravel SkirRPC client package powered by Saloon.

Maintainers

Package info

github.com/php-skir/client

pkg:composer/php-skir/client

Transparency log

Statistics

Installs: 15

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.3 2026-07-21 08:56 UTC

This package is auto-updated.

Last update: 2026-07-21 08:57:32 UTC


README

Laravel Skir Client

Laravel Skir Client

Tests Coverage Composer PHP License

Laravel package for calling SkirRPC services through generated typed clients and Saloon.

Features

Quick start

Install the client and standard PHP generator:

composer require php-skir/client
npm install --save-dev skir skir-php-generator

Create skir-src/admin/users.skir:

struct GetUserRequest {
  user_id: int32;
}

struct User {
  user_id: int32;
  name: string;
}

method GetUser(GetUserRequest): User = 3180856469;

Configure the root skir.yml:

generators:
  - mod: skir-php-generator
    outDir: skir/skirout
    config:
      namespace: Skir

Skir owns the output directory and may replace its contents during generation.

Generate the client, configure Composer autoloading, and publish the Laravel config:

npx skir gen
npx skir-php-generator configure-composer
composer dump-autoload
php artisan vendor:publish --tag=skir-client-config

Configure the server endpoint and matching wire codec:

SKIR_CLIENT_BASE_URL=https://api.example.test
SKIR_CLIENT_ENDPOINT=/api/skir
SKIR_CLIENT_CODEC=dense_json

Call the service through the generated typed client:

use Skir\Admin\GetUserRequest;
use Skir\Admin\SkirRpcClient;
use Skir\Client\SkirClient as TransportSkirClient;

$client = new SkirRpcClient(app(TransportSkirClient::class));
$user = $client->getUser(new GetUserRequest(userId: 42));

echo $user->name;

Generator alternatives

Standard PHP is the dependency-light baseline. Use skir-laravel-data-generator for Laravel Data or skir-simple-data-objects-generator for Simple Data Objects.

Documentation