matraux/xml-orm
最新稳定版本:2.0.0
Composer 安装命令:
composer require matraux/xml-orm
包简介
A PHP 8.4+ library for converting XML data to typed entities and back, with support for lazy-loading collections and XML namespaces.
README 文档
README
Introduction
A PHP 8.4+ library for converting XML data to typed entities and back, with support for lazy-loading collections, XML namespaces, and structured entity design. Useful for parsing configuration files, processing structured XML APIs, and working with hierarchical XML data in an object-oriented way.
Features
- Object-oriented XML mapping
- Conversion from XML to typed entities and back
- Lazy-loading collections for efficient memory usage
- Entity objects are mutable and can be freely modified after creation
- Mapping via PHP attributes (no separate config files needed)
- Strict type support with automatic casting
- Native support for nested structures and arrays
- Full support for XML namespaces
- Easy integration with configuration files or XML-based APIs
Installation
composer require matraux/xml-orm
Requirements
| version | PHP | Note |
|---|---|---|
| 1.0.1 | 8.2+ | Initial commit |
| 1.4.1 | 8.3+ | Parsing via PHP attributes |
| 1.5.0 | 8.4+ | Performance optimization, metadata caching |
| 1.6.0 | 8.4+ | Enum support, security hardening, doc fixes |
| 1.6.1 | 8.4+ | Optimized metadata |
| 2.0.0 | 8.4+ | Added support for property hooks and codecs (encode/decode) |
Examples
See Definitions for how to define your own entities and collections.
See Read for full reading examples.
use Matraux\XmlORM\Xml\SimpleXmlExplorer; $explorer = SimpleXmlExplorer::fromString($xml); $main = MainEntity::fromExplorer($explorer); echo $main->name;
See Write for writing examples.
$main = MainEntity::create(); $main->id = 1000; $main->name = 'Maim entity'; echo $main;
Development
See Development for debug, test instructions, static analysis, and coding standards.
Support
For bug reports and feature requests, please use the issue tracker.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-31