theseer / tokenizer
一个小型库,用于将标记化的PHP源代码转换为XML格式以及其他可能格式
1.2.3
2024-03-03 12:36 UTC
Requires
- php: ^7.2 || ^8.0
- ext-dom: *
- ext-tokenizer: *
- ext-xmlwriter: *
README
一个小型库,用于将标记化的PHP源代码转换为XML。
安装
您可以使用 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"><?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>