PHP Class PhpParser\Lexer

Afficher le fichier Open project: nikic/php-parser Class Usage Examples

Protected Properties

Свойство Type Description
$code
$dropTokens
$filePos
$line
$pos
$prevCloseTagHasNewline
$tokenMap
$tokens
$usedAttributes

Méthodes publiques

Méthode Description
__construct ( array $options = [] ) Creates a Lexer.
getNextToken ( mixed &$value = null, mixed &$startAttributes = null, mixed &$endAttributes = null ) : integer Fetches the next token.
getTokens ( ) : array Returns the token array for current code.
handleHaltCompiler ( ) : string Handles __halt_compiler() by returning the text after it.
startLexing ( string $code, phpparser\ErrorHandler $errorHandler = null ) Initializes the lexer for lexing the provided source code.

Méthodes protégées

Méthode Description
createTokenMap ( ) : array Creates the token map.
handleErrors ( phpparser\ErrorHandler $errorHandler )
resetErrors ( )

Private Methods

Méthode Description
errorMayHaveOccurred ( )
handleInvalidCharacterRange ( $start, $end, $line, phpparser\ErrorHandler $errorHandler )
isUnterminatedComment ( $token )

Method Details

__construct() public méthode

Creates a Lexer.
public __construct ( array $options = [] )
$options array Options array. Currently only the 'usedAttributes' option is supported, which is an array of attributes to add to the AST nodes. Possible attributes are: 'comments', 'startLine', 'endLine', 'startTokenPos', 'endTokenPos', 'startFilePos', 'endFilePos'. The option defaults to the first three. For more info see getNextToken() docs.

createTokenMap() protected méthode

The token map maps the PHP internal token identifiers to the identifiers used by the Parser. Additionally it maps T_OPEN_TAG_WITH_ECHO to T_ECHO and T_CLOSE_TAG to ';'.
protected createTokenMap ( ) : array
Résultat array The token map

getNextToken() public méthode

The available attributes are determined by the 'usedAttributes' option, which can be specified in the constructor. The following attributes are supported: * 'comments' => Array of PhpParser\Comment or PhpParser\Comment\Doc instances, representing all comments that occurred between the previous non-discarded token and the current one. * 'startLine' => Line in which the node starts. * 'endLine' => Line in which the node ends. * 'startTokenPos' => Offset into the token array of the first token in the node. * 'endTokenPos' => Offset into the token array of the last token in the node. * 'startFilePos' => Offset into the code string of the first character that is part of the node. * 'endFilePos' => Offset into the code string of the last character that is part of the node.
public getNextToken ( mixed &$value = null, mixed &$startAttributes = null, mixed &$endAttributes = null ) : integer
$value mixed Variable to store token content in
$startAttributes mixed Variable to store start attributes in
$endAttributes mixed Variable to store end attributes in
Résultat integer Token id

getTokens() public méthode

The token array is in the same format as provided by the token_get_all() function and does not discard tokens (i.e. whitespace and comments are included). The token position attributes are against this token array.
public getTokens ( ) : array
Résultat array Array of tokens in token_get_all() format

handleErrors() protected méthode

protected handleErrors ( phpparser\ErrorHandler $errorHandler )
$errorHandler phpparser\ErrorHandler

handleHaltCompiler() public méthode

Handles __halt_compiler() by returning the text after it.
public handleHaltCompiler ( ) : string
Résultat string Remaining text

resetErrors() protected méthode

protected resetErrors ( )

startLexing() public méthode

This function does not throw if lexing errors occur. Instead, errors may be retrieved using the getErrors() method.
public startLexing ( string $code, phpparser\ErrorHandler $errorHandler = null )
$code string The source code to lex
$errorHandler phpparser\ErrorHandler Error handler to use for lexing errors. Defaults to ErrorHandler\Throwing

Property Details

$code protected_oe property

protected $code

$dropTokens protected_oe property

protected $dropTokens

$filePos protected_oe property

protected $filePos

$line protected_oe property

protected $line

$pos protected_oe property

protected $pos

$prevCloseTagHasNewline protected_oe property

protected $prevCloseTagHasNewline

$tokenMap protected_oe property

protected $tokenMap

$tokens protected_oe property

protected $tokens

$usedAttributes protected_oe property

protected $usedAttributes