katmore/micro-encode

XML 编码器和 HTML 生成器

v1.0.6 2018-06-04 19:36 UTC

This package is not auto-updated.

Last update: 2024-09-21 02:04:39 UTC


README

XML 编码器和 HTML 生成器

安装

使用 composer 将 MicroEncode 添加到您的 PHP 项目

composer require katmore/micro-encode

用法

XmlEncoder 用法

XMLEncoder 类可以将任意数据序列化为 XML 文档。支持的 PHP 数据类型有:booleanintegerfloatstringarrayobjectnull。XML 文档符合 Flat XML Schema 规范。

以下是将关联数组数据编码为 XML 文档的示例

$myData = [
   'my_example_1'=>'my 1st data value',
   'my_example_2'=>'my 2nd data value',
];

echo (new \MicroEncode\XmlEncoder($myData));

上述代码应该输出以下 XML

<?xml version="1.0" encoding="UTF-8"?>
<fx:data xmlns:fx="https://github.com/katmore/flat/wiki/xmlns" xmlns="https://github.com/katmore/flat/wiki/xmlns-object" fx:md5="37a6259cc0c1dae299a7866489dff0bd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:extxs="https://github.com/katmore/flat/wiki/xmlns-extxs" xsi:type="extxs:Hashmap">
   <my_example_1 xsi:type="xs:string">my 1st data value</my_example_1>
   <my_example_2 xsi:type="xs:string">my 2nd data value</my_example_2>
</fx:data>

HtmlEncoder 用法

HtmlEncoder 类可以从任意数据生成 HTML。支持的 PHP 数据类型有:booleanintegerfloatstringarrayobjectnull

以下是从关联数组数据生成 HTML 的示例

$myData = [
   'my_example_1'=>'my 1st data value',
   'my_example_2'=>'my 2nd data value',
];

echo (new \MicroEncode\HtmlEncoder($myData));

上述代码应该输出以下 HTML

<ul data-type="array">
   <li data-index="0" data-key="my_example_1" data-role="item"><span data-role="item-key">my_example_1</span>:&nbsp;<span data-role="item-value" data-type="string">my 1st data value</span></li><!--/data-item: (my_example_1)-->
   <li data-index="1" data-key="my_example_2" data-role="item"><span data-role="item-key">my_example_2</span>:&nbsp;<span data-role="item-value" data-type="string">my 2nd data value</span></li><!--/data-item: (my_example_2)-->
</ul>

上述 HTML 将渲染为以下无序列表项集合

  • my_example_1: my 1st data value
  • my_example_2: my 2nd data value

单元测试

要执行单元测试,请执行位于 vendor/bin 目录中的 phpunit。

vendor/bin/phpunit

提供 tests.sh 包装脚本以方便执行。

./tests.sh

法律

版权

MicroEncode - https://github.com/katmore/micro-encode

版权 (c) 2012-2018 Doug Bird。版权所有。

许可证

MicroEncode 是一个版权免费的软件。您可以在 "The MIT License (MIT)" 或 "GPL v3 License" 的条款和条件下重新分发和修改它。请参阅 LICENSEGPLv3