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/serializerQuick 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.