ouxsoft / phpmarkup
PHP编写的标记处理器。允许将标记提取到数据结构中,协调对该结构的嵌套操作,并以(优化后的)标记的形式输出。
v4.3.2
2022-01-02 08:06 UTC
Requires
- php: >=7.3
- ext-dom: *
- ext-json: *
- ext-libxml: *
- laminas/laminas-config: ^3.4.0
- laminas/laminas-validator: ^2.14.4
- pimple/pimple: ^v3.3.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^v3.1.0
- phpbench/phpbench: ^1.1
- phpstan/phpstan: ^0.12.99
- phpunit/phpunit: ^9
- dev-master
- v4.3.2
- v4.3.1
- v4.3.0
- v4.2.6
- v4.2.5
- v4.2.4
- v4.2.3
- v4.2.2
- v4.2.1
- v4.2.0.x-dev
- v4.2.0
- v4.0.2
- v4.0.1
- v4.0.0
- dev-snyk-fix-553ebdc51fd700c18c7179f4b559915a
- dev-snyk-fix-73b72b41965c650ab38845a5755c19d8
- dev-snyk-fix-beff05858b64696107ef02f93cebb3e3
- dev-snyk-fix-21d8194e94d8c2ddecdccf842033b1ef
- dev-snyk-fix-23c7bfc06b9d581474a39460e3fbb386
- dev-snyk-fix-15328710eabd97075b5b80e058539622
- dev-snyk-fix-e1f0951d23f1f2c8b093c2bb30fee0a9
- dev-snyk-fix-b0e76bf33b008194177d9f9cc106a48e
- dev-hxtree/example
This package is auto-updated.
Last update: 2024-09-16 06:50:05 UTC
README
安装
安装最新版本
$ composer require ouxsoft/phpmarkup
基本用法
创建一个包含DOMElement处理指令的Element类。
<?php namespace App\Elements; class Messages extends Ouxsoft\PHPMarkup\Element { private $messages; public function onLoad() : void { $this->messages = $this->db->query('SELECT `msg` FROM `messages`;'); } public function onRender(): string { $out = ''; foreach($this->messages as $row){ $out .= $row['msg'] . $this->getArgByName('delimiter'); } return $out; } }
配置一个处理器以使用创建的Element类处理DOM。
<?php use Ouxsoft\PHPMarkup\Factory\ProcessorFactory; use App\Elements\Messages; $processor = ProcessorFactory::getInstance(); $processor->addElement(['xpath' => '//messages', 'class_name' => App\Elements\Messages::class]); $processor->addRoutine(['method' => 'onLoad']); $processor->addRoutine(['method' => 'onRender', 'execute' => 'RETURN_CALL']); $processor->addProperty('db', new PDO('sqlite:/example.db')); $processor->parseBuffer(); ?> <html lang="en"> <messages> <arg name="delimiter">;</arg> </messages> </html>
关于
PHPMarkup是一个用PHP编写的轻量级标记处理器。它简化了将标记提取到数据结构中、协调该结构的操作以及将输出作为(优化后的)标记的过程。它基于LHTML标准。
文档
作者
Matthew Heroux
查看参与此项目的贡献者列表。
贡献
PHPMarkup是一个开源项目。如果您发现问题或想讨论新功能或改进,请创建一个问题,并在可能的情况下创建一个pull request。使用测试docker镜像轻松贡献。
许可
PHPMarkup遵循MIT许可证 - 有关详细信息,请参阅LICENSE文件。
致谢
感谢Andy Beak提供代码审查。感谢Bob Crowley提供项目管理建议。感谢Aswin Vijayakumar提供的有用评论。感谢White Whale Web Services的Alexander Romanovich对免费类XPHP的工作。所有这些都导致了此实现的变化。