定制 cnastasi/serializer 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

cnastasi/serializer

最新稳定版本:v0.11.1

Composer 安装命令:

composer require cnastasi/serializer

包简介

A experimental serializer using php 7.4 typed properties and reflection

README 文档

README

Maintainability Test Coverage

Serializer

It permits to serialize and unserialize value objects.

  • Simple Objects: With just a primitive inside
  • Composite Objects: Objects formed by composition of two or more Simple Objects
  • Collections: Objects formed by a collection of Simple or Composite objects

How to install

How to use

Serialize a simple value object

use CNastasi\Serializer\Serializer\SimpleValueObjectSerializer; use CNastasi\Example\Age; $serializer = new SimpleValueObjectSerializer(); // $result === 37 $result = $serializer->serialize(new Age(37));

Unserialize a simple value object

use CNastasi\Serializer\Unserializer\SimpleValueObjectUnserializer; use CNastasi\Example\Age; $serializer = new SimpleValueObjectUnserializer(); // $result === Age(37) $result = $serializer->unserialize(37, Age::class);

Complex example

require_once 'vendor/autoload.php'; use CNastasi\Example\Address; use CNastasi\Example\Age; use CNastasi\Example\Name; use CNastasi\Example\Person; use CNastasi\Example\Phone; use CNastasi\Serializer\Serializer\CompositeValueObjectSerializer; use CNastasi\Serializer\Serializer\SimpleValueObjectSerializer; use CNastasi\Serializer\DefaultSerializer; // Initialize the Serializer $simpleValueObjectSerializer = new SimpleValueObjectSerializer(); $compositeValueObjectSerializer = new CompositeValueObjectSerializer($simpleValueObjectSerializer); $serializer = new DefaultSerializer([$simpleValueObjectSerializer, $compositeValueObjectSerializer]); // Create your domain objects $age = new Age(37); // A simple one $address = new Address('145 Main Street', 'New York'); // A composite // A composite and complex, with nullable and recursion $person = new Person( new Name ('Christian Nastasi'), new Age(37), new Address('42 Somewhere Street', 'World'), new Phone('+39 123456754') ); // Serialize the objects var_dump($serializer->serialize($age)); /*  * int(37)  */ var_dump($serializer->serialize($address)); /*  * array(2) {  * 'street' => string(15) "145 Main Street"  * 'city' => string(8) "New York"  * }  */ var_dump($serializer->serialize($person)); /*   array(5) {  'name' => string(17) "Christian Nastasi"  'age' => int(37)  'address' => array(2) {  'street' => string(19) "42 Somewhere Street"  'city' => string(5) "World"  }  'phone' => string(13) "+39 123456754"  'parent' => array(5) {  'name' => string(17) "Christian Nastasi"  'age' => int(37)  'address' => array(2) {  'street' => string(19) "42 Somewhere Street"  'city' => string(5) "World"  }  'phone' => string(13) "+39 123456754"  'parent' => NULL  }  }   */

统计信息

  • 总下载量: 23.39k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: proprietary
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固