Skip to content

Releases: KaririCode-Framework/kariricode-serializer

KaririCode Serializer v1.1.0

05 Mar 17:32
63cace3

Choose a tag to compare

KaririCode\Serializer v1.1.0

Format-agnostic serialization engine for PHP 8.4+.
4 built-in encoders (JSON, XML, CSV, QueryString), #[Serialize] attribute-driven
pipelines, zero runtime dependencies on encoders, and 100% quality gate. ARFA 1.43 compliant.

Installation

composer require kariricode/serializer

Quick Start

use KaririCode\Serializer\Attribute\Serialize;
use KaririCode\Serializer\Provider\SerializerServiceProvider;

final class UserDto
{
    #[Serialize(name: 'first_name')]
    public string $firstName = '';

    #[Serialize(ignore: true)]
    public string $password = '';

    public string $email = '';
}

$serializer = (new SerializerServiceProvider())->createAttributeSerializer();
$result = $serializer->serialize(new UserDto(firstName: 'Walmir', password: 'secret', email: 'w@k.org'), 'json');

echo $result->getPayload(); // {"first_name":"Walmir","email":"w@k.org"}

Quality Metrics

Metric Value
Tests 83 passing
Assertions 153+
PHPStan Level 9 (0 errors)
Psalm 100% (0 errors)
Encoders 4 built-in (JSON, XML, CSV, QueryString)
Runtime Deps 1 (kariricode/property-inspector)
PHP Version 8.4+

See CHANGELOG.md for details.

v1.0.0

05 Mar 13:46

Choose a tag to compare

KaririCode\Serializer v1.0.0

Format-agnostic serialization engine for PHP 8.4+.
4 built-in encoders (JSON, XML, CSV, QueryString), #[Serialize] attribute-driven
pipelines, zero runtime dependencies on encoders, and 100% quality gate. ARFA 1.43 compliant.

Installation

composer require kariricode/serializer

Quick Start

use KaririCode\Serializer\Attribute\Serialize;
use KaririCode\Serializer\Provider\SerializerServiceProvider;

final class UserDto
{
    #[Serialize(name: 'first_name')]
    public string $firstName = '';

    #[Serialize(ignore: true)]
    public string $password = '';

    public string $email = '';
}

$serializer = (new SerializerServiceProvider())->createAttributeSerializer();
$result = $serializer->serialize(new UserDto(firstName: 'Walmir', password: 'secret', email: 'w@k.org'), 'json');

echo $result->getPayload(); // {"first_name":"Walmir","email":"w@k.org"}

Quality Metrics

Metric Value
Tests 83 passing
Assertions 153+
PHPStan Level 9 (0 errors)
Psalm 100% (0 errors)
Encoders 4 built-in (JSON, XML, CSV, QueryString)
Runtime Deps 1 (kariricode/property-inspector)
PHP Version 8.4+

See CHANGELOG.md for details.