php 令牌通
导读:PHP 令牌通,是一个非常实用的工具,可以让我们更加便捷地编写和调试 PHP 代码。这个工具在 PHP 5.4 版本中首次引入,目前在更高版本的 PHP 中也得以保留。那么,什么是 PHP 令牌通呢?可以举例说明,先看下列代码:<?p...
PHP 令牌通,是一个非常实用的工具,可以让我们更加便捷地编写和调试 PHP 代码。这个工具在 PHP 5.4 版本中首次引入,目前在更高版本的 PHP 中也得以保留。那么,什么是 PHP 令牌通呢?可以举例说明,先看下列代码:?phpecho "Hello World!";
?>
在使用 PHP 令牌通的情况下,可以将上述代码转化为:
?=echo "Hello World!";
?>
其中,?= 是 PHP 的短标签,相当于 ?php echo,这样就省去了多余的字母,使代码更加简洁。
除了短标签外,PHP 令牌通还支持更多的语法缩写。比如,以下代码:
?phpisset($var) ? $var : "default";
?>
可以简化为:
?php$var ?? "default";
?>
这里使用了 PHP 7 的空合并运算符 ??,代表如果 $var 不为 null,则返回 $var,否则返回 "default"。这样,代码就更加简洁明了。
除了以上两个例子,PHP 令牌通还支持一系列的语法缩写,如诸如 $array['key'] 可缩写为 $array['key'] 或 $array{ 'key'} ,以及允许在类成员访问中省略 $ 符号等等,这些都可以让我们更加高效地编写 PHP 代码。
除了缩写,PHP 令牌通还可以用于调试。我们可以使用 PHP 令牌通打印出代码的解析情况,来辅助我们查找 bug 和理解代码执行流程。以下是一个例子:
?php$a = 2;
$b = $a + 1;
echo $b;
?>
我们使用 PHP 令牌通打印出上述代码的解析情况:
?phpecho "pre>
";
print_r(token_get_all(file_get_contents(__FILE__)));
echo "";
?>
使用上述代码,我们得到了以下输出结果:
Array([0] =>
Array([0] =>
T_OPEN_TAG[1] =>
?php\n[2] =>
1)[1] =>
Array([0] =>
T_WHITESPACE[1] =>
[2] =>
1)[2] =>
Array([0] =>
T_VARIABLE[1] =>
$a[2] =>
2)[3] =>
Array([0] =>
T_WHITESPACE[1] =>
[2] =>
2)[4] =>
"+"[5] =>
Array([0] =>
T_WHITESPACE[1] =>
[2] =>
2)[6] =>
Array([0] =>
T_LNUMBER[1] =>
1[2] =>
2)[7] =>
";
"[8] =>
Array([0] =>
T_WHITESPACE[1] =>
[2] =>
2)[9] =>
Array([0] =>
T_VARIABLE[1] =>
$b[2] =>
3)[10] =>
Array([0] =>
T_WHITESPACE[1] =>
[2] =>
3)[11] =>
"="[12] =>
Array([0] =>
T_WHITESPACE[1] =>
[2] =>
3)[13] =>
Array([0] =>
T_VARIABLE[1] =>
$a[2] =>
3)[14] =>
"+"[15] =>
Array([0] =>
T_WHITESPACE[1] =>
[2] =>
3)[16] =>
Array([0] =>
T_LNUMBER[1] =>
1[2] =>
3)[17] =>
";
"[18] =>
Array([0] =>
T_WHITESPACE[1] =>
[2] =>
3)[19] =>
Array([0] =>
T_ECHO[1] =>
echo[2] =>
4)[20] =>
Array([0] =>
T_WHITESPACE[1] =>
[2] =>
4)[21] =>
Array([0] =>
T_VARIABLE[1] =>
$b[2] =>
4)[22] =>
";
"[23] =>
Array([0] =>
T_WHITESPACE[1] =>
[2] =>
4)[24] =>
Array([0] =>
T_CLOSE_TAG[1] =>
?>
\n[2] =>
5))这里的输出结果是将代码解析成 token 的数组,每个 token 是一个数组元素,包含 token 的类型、值和所在的行号。通过这个输出可以帮助我们排查代码中的语法错误和调试一些较难的 bug。
综上所述,PHP 令牌通是一款非常实用的工具,可以帮助我们更加便捷地编写和调试 PHP 代码。无论是语法缩写还是解析输出,都可以大大提高我们的开发效率和代码质量。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: php 令牌通
本文地址: https://pptw.com/jishu/558514.html
