sientifica / json-api-minimal
Minimal JSON:API serializer for arrays and object collections.
This package has no released version yet, and little information is available.
README
Paquete PHP mínimo para serializar arreglos o colecciones de objetos a strings JSON:API.
Instalación (Composer)
composer require mauricio/json-api-minimal
Requisitos
- PHP 8.1+
Especificación mínima implementada
- Documento JSON:API con clave raíz
data. - Incluye
metaa nivel raíz con el campo mínimocount. - Cada recurso incluye:
type(usa el parámetro$typeo eltypedel item si existe).id(obligatorio en cada item).attributes(resto de campos del item, excluyendoidytype).
- Soporta:
arrayde items.Traversable(ejemplo:Collection,ArrayIterator).- cada item puede ser
array, objeto con propiedades públicas, oJsonSerializable.
Uso
<?php use JsonApiMinimal\JsonApiSerializer; $serializer = new JsonApiSerializer(); $items = [ ['id' => 1, 'name' => 'Ada', 'email' => 'ada@example.com'], ['id' => 2, 'name' => 'Grace', 'email' => 'grace@example.com'], ]; $json = $serializer->serializeCollection($items, 'users', [ 'source' => 'import-job', 'request_id' => 'req-1001', ]); echo $json; // {"data":[{"type":"users","id":"1","attributes":{"name":"Ada","email":"ada@example.com"}},{"type":"users","id":"2","attributes":{"name":"Grace","email":"grace@example.com"}}],"meta":{"source":"import-job","request_id":"req-1001","count":2}}
API pública
serializeCollection(array|Traversable $items, string $type, array $meta = []): stringserializeItem(mixed $item, string $type, array $meta = []): string
Tests
composer install
composer test