我正在学习在php.net上包括并需要构造,并发现该规则的线是该规则的例外是魔术常数,在包含发生之前,由解析器评估了魔术常数。/strong>在该页面的第7段中 任何人都可以用简单简单的话来讲述吗? 否定标记我的问题是很好的,但是请回答,我想知道和学习,负标记无关紧要。
在解析代码之前,解析器可以解决所有问题,并要求它可以解析所有内容,就像它是一个脚本一样。但是,在解决这些问题之前,将解决任何魔术常数,例如__DIR__
。
一个示例:
想象您有两个文件:
file1.php
<?php
require __DIR__ . '/file2.php';
echo 'Hello ' . $a;
file2.php
<?php
$a = 'World';
如您所见,有一个神奇的常数:其中__DIR__
。该常数将返回我写过的文件的绝对路径。因此,解析的第一个解决方案:
<?php
require '/the-current-folder/file2.php';
然后它实际上包括任何include
和require
,因此得到:
<?php
$a = 'World';
echo 'Hello ' . $a;
然后解析脚本:
Hello World