ttrss/vendor/theseer/tokenizer
Andrew Dolgov 1c4f7ab3b8 * add phpunit as a dev dependency
* add some basic tests for UrlHelper::rewrite_relative()
 * fix UrlHelper::rewrite_relative() to work better on non-absolute
   relative URL paths
2022-03-22 12:24:31 +03:00
..
src * add phpunit as a dev dependency 2022-03-22 12:24:31 +03:00
.php_cs.dist * add phpunit as a dev dependency 2022-03-22 12:24:31 +03:00
CHANGELOG.md * add phpunit as a dev dependency 2022-03-22 12:24:31 +03:00
LICENSE * add phpunit as a dev dependency 2022-03-22 12:24:31 +03:00
README.md * add phpunit as a dev dependency 2022-03-22 12:24:31 +03:00
composer.json * add phpunit as a dev dependency 2022-03-22 12:24:31 +03:00
composer.lock * add phpunit as a dev dependency 2022-03-22 12:24:31 +03:00

README.md

Tokenizer

A small library for converting tokenized PHP source code into XML.

Test Scrutinizer Code Quality Code Coverage Build Status

Installation

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

Usage examples

$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">&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>