Gleb 66078cb367 test | пре 5 година | |
---|---|---|
.. | ||
src | пре 5 година | |
tests | пре 5 година | |
.gitignore | пре 5 година | |
.php_cs | пре 5 година | |
.travis.yml | пре 5 година | |
LICENSE | пре 5 година | |
README.md | пре 5 година | |
build.xml | пре 5 година | |
composer.json | пре 5 година | |
phive.xml | пре 5 година | |
phpunit.xml | пре 5 година |
A small library for converting tokenized PHP source code into XML.
You can add this library as a local, per-project dependency to your project using Composer:
composer require theseer/tokenizer
If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:
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;
The generated XML structure looks something like this:
<?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>