byjg/serializer
最新稳定版本:6.0.0
Composer 安装命令:
composer require byjg/serializer
包简介
A powerful multi-format serialization library that converts objects, arrays, and data between JSON, XML, YAML, CSV, PHP serialize, and plain text formats with intelligent property mapping and transformation
README 文档
README
A powerful multi-format serialization library that converts objects, arrays, and data between JSON, XML, YAML, CSV, PHP serialize, and plain text formats with intelligent property mapping and transformation.
Features
- Format Conversion: Transform objects to JSON, XML, YAML, or Arrays, and back again
- Property Control: Filter, transform, and manipulate object properties during conversion
- Object Mapping: Copy properties between different object structures with intelligent mapping
- Property Pattern Matching: Customize how properties are matched and transformed
- Attribute Support: Process PHP attributes during serialization and deserialization
- Type Safety: Maintain data types during transformations
Quick Examples
Convert an object to JSON
$object = new MyClass(); $json = \ByJG\Serializer\Serialize::from($object) ->toJson();
Copy properties between objects
$source = ["id" => 1, "name" => "John"]; $target = new User(); \ByJG\Serializer\ObjectCopy::copy($source, $target);
Create a copyable object
class User implements \ByJG\Serializer\ObjectCopyInterface { use \ByJG\Serializer\ObjectCopyTrait; public $id; public $name; // Automatically inherits copyFrom() and copyTo() methods }
Documentation
Core Components
| Component | Description | Link |
|---|---|---|
| Serialize | Core component for converting objects between formats | Documentation |
| ObjectCopy | Final utility class for copying properties between objects | Documentation |
| ObjectCopyTrait | Trait implementing copyable object functionality | Documentation |
| ObjectCopyInterface | Interface for implementing copyable objects | Documentation |
| BaseModel | Abstract base class with object copying functionality | Documentation |
| DirectTransform | Basic property handler for direct transformations in ObjectCopy | Documentation |
Guides
- Formatters - JSON, XML, YAML, CSV, and Plain Text output formatting
- Property Handlers - Transform property names and values during copying
- Advanced Usage - Performance optimization, security, and complex patterns
- Integration Examples - Framework integration (Symfony, Laravel, Doctrine, etc.)
- ByJG Ecosystem - How Serializer integrates with other ByJG components
- Troubleshooting - Common issues and solutions
Installation
composer require "byjg/serializer"
Testing
./vendor/bin/phpunit
Dependencies
flowchart TD
byjg/serializer --> ext-json
byjg/serializer --> symfony/yaml
byjg/serializer --> ext-simplexml
Loading
统计信息
- 总下载量: 150.03k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 1
- 依赖项目数: 5
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-05-11