bstoots/wox-php

WOX 是一个 PHP 的 XML 序列化器

1.0.0 2017-10-09 23:25 UTC

This package is not auto-updated.

Last update: 2024-09-26 08:11:27 UTC


README

Build Status

WOX 是一个 PHP 的 XML 序列化器

(基于 http://woxserializer.sourceforge.net/)

特性

以下是 WOX 的主要特性:

  • 易于使用。
  • 简单的 XML。生成的 XML 简单、易于理解且与语言无关。
  • 无需修改类。类不需要具有默认构造函数、获取器或设置器。
  • 字段可见性。目前仅序列化公共属性。未来可能会更改以匹配 Java 和 C# 实现。
  • 互操作性。WOX 可以(反)序列化 Java、C# 或 PHP 对象到 XML,并将 XML 重新构造为任何支持的编程语言。
  • 标准 XML 对象表示。目标是 Java、C# 和 PHP 之间的等价性。未来可能还有其他语言。
  • WOX 数据类型。WOX 映射表指定了原始数据类型如何映射到 WOX 数据类型。
  • 对类更改的鲁棒性。对于新添加的字段,将使用默认值。
  • 数组。处理原始数据类型和对象的数组和多维数组。
  • 类和类型。这些类的对象通过它们的字符串名称保存。
  • 小体积。尽可能使用 PHP 内置功能。

用法

待办事项

示例

use Bstoots\WOX\Serial\{SimpleWriter, SimpleReader};

$doubles = [12.45, 878.98, 987.98, 435.87, 537.87, 89.0, 0.0, 667.332];

$writer = new SimpleWriter();
$xml = $writer->write($doubles);
var_dump($xml);
// string(138) "<?xml version="1.0"?>
// <object type="array" elementType="double" length="8" id="0">12.45 878.98 987.98 435.87 537.87 89 0 667.332</object>
// "

$reader = new SimpleReader();
$sameDoubles = $reader->read($xml);
var_dump($sameDoubles);
// array(8) {
//   [0]=>
//   float(12.45)
//   [1]=>
//   float(878.98)
//   [2]=>
//   float(987.98)
//   [3]=>
//   float(435.87)
//   [4]=>
//   float(537.87)
//   [5]=>
//   float(89)
//   [6]=>
//   float(0)
//   [7]=>
//   float(667.332)
// }