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

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

我读过Hacking PHP syntax,

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

解决方法

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

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

更改:

<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,请注明来意。
标签: