魔术变量
PHP魔术变量,说白了就是PHP与定义的一些常量,不过这些常量的值随着文件或者位置的不同而不同。
__FILE__ 和 __DIR__
__FILE__
记录当前PHP文件的文件名(含全路径);__DIR__
纪录当前PHP文件所在的目录名(含全路径)。
代码:
<?php
echo __FILE__ . "\n";
echo __DIR__ . "\n";
结果:
/Users/Project/PHP/test.php
/Users/Project/PHP
__LINE__
__LINE__
保存当前所在的行
编号
代码:
<?php
echo __LINE__;
结果:
2
__METHOD__ 和 __FUNCTION__
__METHOD__
和__FUNCTION__
都保存函数的方法。稍微不同的是,如果在是类的成员函数,__METHOD__
会带有类名信息。
代码:
<?php
class MyClass{
function func1(){
echo __METHOD__ . "\n";
}
function func2(){
echo __FUNCTION__ . "\n";
}
}
function func3(){
echo __METHOD__ . "\n";
}
function func4(){
echo __FUNCTION__ . "\n";
}
$obj = new MyClass;
$obj->func1();
$obj->func2();
func3();
func4();
?>
结果:
MyClass::func1
func2
func3
func4
__CLASS__
__CLASS__
返回类名。
代码:
<?php
class MyClass{
function MyClass(){
echo __CLASS__ . "\n";
}
}
$obj = new MyClass;
?>
结果:
MyClass
__NAMESPACE__
__NAMESPACE__
返回命名空间。
代码:
<?php
namespace myNameSpace;
echo __NAMESPACE__ . "\n";
结果:
myNameSpace