-
-
Notifications
You must be signed in to change notification settings - Fork 0
Quick start
github-actions[bot] edited this page Jul 16, 2026
·
1 revision
composer require cloudcastle/serialize<?php
declare(strict_types=1);
use CloudCastle\Serialize\Serializer;
// PHP-формат: объекты запрещены по умолчанию (анти-POP)
$blob = Serializer::php()->serialize(['id' => 1, 'items' => [2, 3]]);
$data = Serializer::php()->unserialize($blob);
// JSON: fail-safe исключения, UTF-8
$json = Serializer::json()->serialize(['город' => 'Казань']);
$back = Serializer::json()->unserialize($json);
// Подписанная нагрузка (tamper-proof)
$signed = Serializer::signed($secretKey); // ключ >= 32 байт
$sealed = $signed->seal(['user_id' => 5]);
$signed->unseal($sealed); // исключение при подделке
// Экспорт в PHP-код для opcache
file_put_contents('config.php', Serializer::exporter()->exportFile($settings));
// DTO <-> массив
$array = Serializer::mapper()->toArray($dto);
$obj = Serializer::mapper()->fromArray(OrderDto::class, $array);- Возможности — пять форматов и два декоратора по группам
- Сравнение — фичи и производительность против аналогов
- Архитектура
- FAQ
CloudCastle Serialize · · PHP 8.1+
GitHub · Packagist · Releases · Discussions
Email · Telegram · VK · Сетка · 💜 Поддержать проект
Исходники Wiki — каталог wiki/ в репозитории (синхронизация через GitHub Actions)