php-skir/runtime
Composer 安装命令:
composer require php-skir/runtime
包简介
PHP runtime support for Skir serialization and descriptors.
README 文档
README
Framework-agnostic PHP runtime support for Skir serialization and descriptors.
This package is intentionally small. Laravel-specific routing and client behavior live in separate packages.
Installation
composer require php-skir/runtime
What it provides
DenseJsonfor encoding and decoding Skir dense JSON values.Cborhelpers for optional CBOR bodies and SkirRPC envelopes.Type,Field, andVariantdescriptors for generated DTO metadata.EnumValuefor Skir enum constants and wrapper variants.MethodDescriptorfor generated SkirRPC method metadata.- Package-local
SkirRuntimeExceptionexceptions for invalid Skir values.
Dense JSON
use Skir\Runtime\DenseJson; use Skir\Runtime\Field; use Skir\Runtime\Type; $user = Type::struct([ Field::value('id', 0, Type::int32()), Field::value('name', 1, Type::string()), ]); $json = DenseJson::toJson($user, [ 'id' => 1, 'name' => 'Jane', ]); $data = DenseJson::fromJson($user, $json);
Struct values are encoded as field-number indexed arrays. Removed fields and sparse field numbers are preserved so generated DTOs can stay compatible with existing Skir schemas.
CBOR
CBOR support is optional and requires spomky-labs/cbor-php in the consuming app:
composer require spomky-labs/cbor-php
The runtime helper keeps CBOR wrapping shared between server and client packages:
use Skir\Runtime\Cbor; $body = Cbor::encodeEnvelope($methodDescriptor, $request); $payload = Cbor::decodeEnvelope($body);
Current scope
This runtime does not register routes, discover procedures, or make HTTP calls. Those concerns belong in the php-skir/server and php-skir/client packages.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-07-06