我以前问过这样的问题,但这个问题不同,这更多是关于解析逻辑。
我之前的问题是关于如何在字符串中嵌入函数(双引号),我收到了这个答案:
$date = "date";
echo "This page is under construction<br/><br/>Current Date: {$date('l jS \of F Y')}";
在那之后,我开始想知道为什么下面的这个不工作而上面的工作正常:
echo "This page is under construction<br/><br/>Current Date: {date('l jS \of F Y')}";
即使变量在字符串内部工作得很好,解析过程背后的逻辑如何。
我读到在 PHP 解析器$
签名之后,它会尝试找到合适的变量来解析和运行,并且还使用花括号来分隔变量名{}
,这也是我相当理解的。
但是为什么在开发函数解析器引擎时似乎需要这种语法,因为起初它对我没有任何意义。
基本上,为什么我需要定义一个变量来保存函数名称的字符串表示,如下所示:
$date = "date";
提前致谢。