原来在面试时被问过,自己大概了解,只是不知道他们都叫做魔法变量,今天整理一下,希望你下次被问是不要像我不知道哦。
namespace Hello;
echo "命名空间:",__NAMESPACE__;// 当前命名空间的名称(大小写敏感)
echo "<br></br>";
$obj = new test();
$obj->meto();
class Test{
function __construct(){
echo "类名:",__CLASS__;//返回该函数被定义时的名字(区分大小写)
echo "<br></br>";
}
function meto(){
echo "方法名:",__METHOD__;//返回该方法被定义时的名字(区分大小写)
echo "<br></br>";
echo "函数名:",__FUNCTION__;//返回该类被定义时的名字(区分大小写)
}
}
echo "<br></br>";
world();
function world(){
echo "函数名:",__FUNCTION__;
}
echo "<br></br>文件目录:";
echo __DIR__ ;//文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠等同于ECHO dirname(__FILE__);
echo "<br></br>文件路径:";
echo __FILE__ ;//文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名 E:\xampp\htdocs\1.php
echo "<br></br>行号:";
echo __LINE__ ;//程序所在行
以下是运行结果:
命名空间:Hello
类名:Hello\Test
方法名:Hello\Test::meto
函数名:meto
函数名:Hello\world
文件目录:E:\xampp\htdocs
文件路径:E:\xampp\htdocs\test.php
行号:32