PHP tokenizer有哪些实际用途?

Jat*_*oot 22 php tokenize

什么是PHP Tokenizer的实用和日常使用示例?

有没有人用过这个?

San*_*hal 17

我使用PHP_CodeSniffer来编写样式符合性,它构建在tokeniser上.此外,一些框架(例如Symfony 2)使用tokeniser来生成PHP代码的缓存文件或中间类文件.也可以使用tokeniser来构建源代码格式化程序或语法高亮显示器.

基本上,只要您使用PHP代码作为数据,您就可以使用tokeniser.尝试使用正则表达式或其他字符串处理函数解析PHP代码更加可靠.

  • PHP_CodeSniffer太棒了.老实说,我不知道有这样的东西可用.+1为此:) (2认同)

Nik*_*kiC 16

我个人已经用它来构建一个PHP沙箱,它试图为执行PHP脚本创建一个更安全的环境.

此外,我做了很多实验来预处理PHP,例如我有一个用于PHP 5.2的(不完整的)PHP 5.3模拟器,称为prephp.

许多其他类似的工具,如源代码分析器(用于安全审计,代码样式分析......)也使用Tokenizer.

但即使对于较小的东西,Tokenizer也可能很方便.不仅仅是大规模的代码分析器.例如,如果您正在接受PHP数组并想要检查它是否是恶意的,则可以使用Tokenizer执行此操作.

PS:目前我正在切换到实际解析PHP,而不是仅仅使用我最近发布的用PHP编写PHP解析器来标记它(它可以工作,但实际上还没有实际可用).


Pek*_*ica 11

有趣的问题.

我自己还没有在任何生产项目中使用过标记器,但是在Stack Overflow上有几个问题,令牌化器是(或至少一个)正确答案.