theseer/tokenizer

一个小型库,用于将标记化的PHP源代码转换为XML格式以及其他可能格式

资助包维护!
theseer

安装数: 525,607,288

依赖者: 12

建议者: 0

安全: 0

星标数: 5,146

关注者: 9

分支: 23

开放问题: 0

1.2.3 2024-03-03 12:36 UTC

This package is auto-updated.

Last update: 2024-09-10 17:44:52 UTC


README

一个小型库,用于将标记化的PHP源代码转换为XML。

Test

安装

您可以使用 Composer 将此库添加为本地、项目级别的依赖项到您的项目中

composer require theseer/tokenizer

如果您只需要在开发期间使用此库,例如运行项目的测试套件,那么您应该将其添加为开发时依赖项

composer require --dev theseer/tokenizer

使用示例

$tokenizer = new TheSeer\Tokenizer\Tokenizer();
$tokens = $tokenizer->parse(file_get_contents(__DIR__ . '/src/XMLSerializer.php'));

$serializer = new TheSeer\Tokenizer\XMLSerializer();
$xml = $serializer->toXML($tokens);

echo $xml;

生成的XML结构看起来大致如下

<?xml version="1.0"?>
<source xmlns="https://github.com/theseer/tokenizer">
 <line no="1">
  <token name="T_OPEN_TAG">&lt;?php </token>
  <token name="T_DECLARE">declare</token>
  <token name="T_OPEN_BRACKET">(</token>
  <token name="T_STRING">strict_types</token>
  <token name="T_WHITESPACE"> </token>
  <token name="T_EQUAL">=</token>
  <token name="T_WHITESPACE"> </token>
  <token name="T_LNUMBER">1</token>
  <token name="T_CLOSE_BRACKET">)</token>
  <token name="T_SEMICOLON">;</token>
 </line>
</source>