为什么所有PHP解析错误都以“T_”开头?

时间:2011-03-23 13:09:42

标签: php parse-error

我只想知道在解析错误之前是否有任何理由/故事可以使用T_,例如

parse error : unexpected `T_`ELSE in ... blah blah blah  
parse error : Unexpected `T_`IF in ....blah   
parse error : unexpected `T_`VAR  
parse error : unexpected `T_`STRING

还有更多。

您能提供任何澄清的链接吗?此外,是否有任何其他前缀用于错误显示然后请分享。

4 个答案:

答案 0 :(得分:9)

T代表Token

这些错误告诉您解析器找到了一个它没想到的令牌

答案 1 :(得分:5)

因为从解析器的角度来看,这些是tokens,因此T_(这与错误级别以E_开头的原因相同......)。< / p>

答案 2 :(得分:3)

来自token 这是因为PHP执行过程的lexical analysis部分

答案 3 :(得分:1)

ELSE,IF,VAR,STRING,FUNCTION等将是对解析器很重要的单独令牌。我假设T_前缀只是一种表示那些东西是标记的样式。