我知道Python有name =“__ main__”检查以测试脚本是作为独立的执行单元调用还是包含在另一个文件中以用作库。 PHP有类似的测试吗?一种方法是:
define('ASLIBRARY', true);
require('foobar.php');
在foobar.php
$aslibrary = defined('ASLIBRARY');
if (!aslibrary) {
....
}
如果PHP提供某种类型的东西,这显然是多余的。
答案 0 :(得分:2)
这样的事情应该有效:
if( $_SERVER['SCRIPT_FILENAME'] == __FILE__)
$_SERVER['SCRIPT_FILENAME']
指的是当前正在执行的脚本 - 如果我们在一个包含的文件中,这仍然引用了初始脚本,即执行包含的脚本。
__FILE__
是一个魔术常量,它始终是当前文件,无论是包含还是直接运行。
如果它们是相同的,那么我们就是直接调用的脚本。
否则......好吧,你明白了:)