lib16/xml
Composer 安装命令:
composer require lib16/xml
包简介
lib16 XML Builder is a PHP 7 library for creating XML documents.
README 文档
README
A library for creating XML documents written in PHP 7.
Installation with Composer
This package is available on packagist,
so you can use Composer to install it:
composer require lib16/xml
Basic Usage
<?php require_once 'vendor/autoload.php'; use Lib16\XML\Xml; class Kml extends Xml { const MIME_TYPE = 'application/vnd.google-earth.kml+xml'; const FILENAME_EXTENSION = 'kml'; const XML_NAMESPACE = 'http://www.opengis.net/kml/2.2'; public static function createKml(): self { return static::createRoot('kml'); } public function placemark( string $name, string $description, float $longitude, float $latitude, float $altitude = null ): self { $pm = $this->append('Placemark'); $pm->append('name', $name); $pm->append('description', $description); $pm->append('Point')->append( 'coordinates', implode(',', array_filter([ $longitude, $latitude, $altitude ])) ); return $pm; } } $myKml = Kml::createKml(); $myKml->placemark( 'Cologne Cathedral', 'Cologne Cathedral is a Roman Catholic cathedral in Cologne, Germany.', 50.9413, 6.958 ); //$myKml->headerfields('cologne-cathedral'); print $myKml;
The generated markup:
<?xml version="1.0" encoding="UTF-8" ?> <kml xmlns="http://www.opengis.net/kml/2.2"> <Placemark> <name>Cologne Cathedral</name> <description>Cologne Cathedral is a Roman Catholic cathedral in Cologne, Germany.</description> <Point> <coordinates>50.9413,6.958</coordinates> </Point> </Placemark> </kml>
The Adhoc trait
Adhoc allows you to use any method name not previously defined to add XML elements or attributes.
<?php require_once 'vendor/autoload.php'; use Lib16\XML\{Xml, Adhoc}; class Html extends Xml { use Adhoc; const XML_DECLARATION = false; const DOCTYPE = '<!DOCTYPE html>'; const HTML_MODE_ENABLED = true; public static function createHtml( string $lang = null, string $manifest = null ): self { return static::createRoot('html') ->attrib('lang', $lang) ->setManifest($manifest); } } $html = Html::createHtml('en'); $body = $html->body(); $article = $body->article(); $article->h1('Scripting languages'); $article->p( Html::abbr('PHP')->setTitle('PHP: Hypertext Preprocessor') . ' is a server-side scripting language designed for web development but also used as a general-purpose programming language.' ); print $html;
The generated markup:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html> <html lang="en"> <body> <article> <h1>Scripting languages</h1> <p><abbr title="PHP: Hypertext Preprocessor">PHP</abbr> is a server-side scripting language designed for web development but also used as a general-purpose programming language.</p> </article> </body> </html>
lib16/xml 适用场景与选型建议
lib16/xml 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3.96k 次下载、GitHub Stars 达 4, 最近一次更新时间为 2016 年 12 月 28 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「xml」 「builder」 「writer」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 lib16/xml 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 lib16/xml 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 lib16/xml 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Simple RSS generator library for PHP 5.5 or later. clone from Bhaktaraz Bhatta ttps://github.com/bhaktaraz/php-rss-generator
A Sphinx Query Builder extension for the Laravel Database package
Anax Database Active Record module for model classes.
Load DOM document safety
A simple package to create tables in Discord messages.
laravel facade to read/write csv file
统计信息
- 总下载量: 3.96k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 13
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-12-28