PhpToken::tokenize

Splits given source into PHP tokens, represented by PhpToken objects.

&reftitle.description; public static `array` `PhpToken::tokenize` `string` `code` `int` `flags` 0

Returns an array of PhpToken objects representing given `code`.

&reftitle.parameters;

`code`

- The PHP source to parse.

`flags`

- Valid flags:

  - `TOKEN_PARSE` - Recognises the ability to use reserved words in specific contexts.

&reftitle.returnvalues;

An array of PHP tokens represented by instances of PhpToken or its descendants. This method returns `static[]` so that PhpToken can be seamlessly extended.

&reftitle.examples;

### `PhpToken::tokenize` example

    <?php
    $tokens = PhpToken::tokenize('<?php echo; ?>');

    foreach ($tokens as $token) {
        echo "Line {$token->line}: {$token->getTokenName()} ('{$token->text}')", PHP_EOL;
    }

&examples.outputs;

    Line 1: T_OPEN_TAG ('<?php ')
    Line 1: T_ECHO ('echo')
    Line 1: ; (';')
    Line 1: T_WHITESPACE (' ')
    Line 1: T_CLOSE_TAG ('?>')

### Extending PhpToken

    <?php

    class MyPhpToken extends PhpToken {
        public function getUpperText() {
            return strtoupper($this->text);
        }
    }

    $tokens = MyPhpToken::tokenize('<?php echo; ?>');
    echo "'{$tokens[0]->getUpperText()}'";

&examples.outputs;

    '<?PHP '

&reftitle.seealso;

- `token_get_all`