Paquete PHP mínimo para serializar arreglos o colecciones de objetos a strings JSON:API.
composer require mauricio/json-api-minimal- PHP 8.1+
- 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.
<?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}}serializeCollection(array|Traversable $items, string $type, array $meta = []): stringserializeItem(mixed $item, string $type, array $meta = []): string
composer install
composer test