在某个项目中需要分析 PHP 代码,分离出对应的函数调用(以及源代码对应的位置)。固然这使用正则也可以实现,但无论从效率还是代码复杂度方面考虑,这都不是最优的方式。
查询了 PHP 手册,发现实在 PHP 已经内置解析器的接口,那就是 PHP Tokenizer,这工具正是我想要的。使用 PHP Tokenizer 能简单、高效、正确的分析出 PHP 源代码的组成。
实例:
---------- 调试PHP ----------
1 - T_OPEN_TAG <?php
1 - T_ECHO echo
1 - T_WHITESPACE
1 - T_CONSTANT_ENCAPSED_STRING "string1"
1 - T_CONSTANT_ENCAPSED_STRING "string2"
1 - T_WHITESPACE
1 - T_CLOSE_TAG ?>
输出完成 (耗时 0 秒) - 正常终止
参考:http://php.mirror.camelnetwork.com/manual/zh/ref.tokenizer.php
查询了 PHP 手册,发现实在 PHP 已经内置解析器的接口,那就是 PHP Tokenizer,这工具正是我想要的。使用 PHP Tokenizer 能简单、高效、正确的分析出 PHP 源代码的组成。
实例:
---------- 调试PHP ----------
1 - T_OPEN_TAG <?php
1 - T_ECHO echo
1 - T_WHITESPACE
1 - T_CONSTANT_ENCAPSED_STRING "string1"
1 - T_CONSTANT_ENCAPSED_STRING "string2"
1 - T_WHITESPACE
1 - T_CLOSE_TAG ?>
输出完成 (耗时 0 秒) - 正常终止
参考:http://php.mirror.camelnetwork.com/manual/zh/ref.tokenizer.php
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/6351/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
评论列表