替换$in php变量声明

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了替换$in php变量声明脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我想扩展PHP语法,以便分辨出可变和不可变的变量.

$a应声明为可变(如标准PHP中所示)
#b应该声明为不可变的.

我读过Hacking PHP syntax,

我无法弄清楚在哪里可以定义用#声明的变量也应该被标记为T_VARIABLE?

我能够解决这个问题,
需要采取两个步骤:

PHP不解析’#’作为注释:

更改:

@H_304_17@<ST_IN_SCRIPTING>"#"|"//" {

<ST_IN_SCRIPTING>"//" {

zend_language_scanner.l年的第1901行

Tokenize #a作为变量:

更改:

simple_variable:
T_VARIABLE { $$= $1; }
| '$' '{' exPR '}' { $$= $3; }
| '$' simple_variable { $$= zend_ast_create(ZEND_AST_VAR,$2); }
;

至:

simple_variable:
T_VARIABLE { $$= $1; }
| '$' '{' expr '}' { $$= $3; }
| '$' simple_variable { $$= zend_ast_create(ZEND_AST_VAR,$2); }
| '#' '{' expr '}' { $$= $3; }
| '#' simple_variable { $$= zend_ast_create(ZEND_AST_VAR,$2); }
;

zend_language_parser.y的第1117行

而已

在这代码有效:

#a=1;
echo (#a);//1

脚本宝典总结

以上是脚本宝典为你收集整理的替换$in php变量声明全部内容,希望文章能够帮你解决替换$in php变量声明所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。