在PHP中一共提供了8个魔术变量,八个魔术常量它们的值随着它们在代码中的位置改变而改变。
1.显示文件中的当前行号
echo '这是第 " ' .__LINE__ . '"行"';
输出结果:
"这是第 " 16"行"
2.显示当前脚本文件的绝对路径
echo '该文件位于 " ' .__FILE__ . ' "';
输出结果:
该文件位于 " D:\wamp\www\magic.php "
3.显示当前脚本文件的所在目录
echo '该文件的目录是: " ' .__DIR__ . '" ';
输出结果:
该文件的目录是: " D:\wamp\www"
4.显示函数名称
function test(){
echo '函数名是:' . __FUNCTION__ ;
}
test();
输出结果:
函数名是:MyProject\test
5.显示类名
class testClass{
function _print(){
echo '类的名称是:' .__CLASS__;
echo "<hr>";
echo '函数名是:' .__FUNCTION__;
}
}
$t = new testClass();
$t -> _print();
输出结果:
类的名称是:MyProject\testClass
函数名是:_print
6.代码复用
<?php
class Base {
public function sayHello(){
echo "hello";
}
}
trait SayWorld{
public function sayHello(){
parent::sayHello();
echo "world";
}
}
class MyHelloWorld extends Base{
use SayWorld;
}
$o = new MyHelloWorld();
$o-> sayHello();
输出结果:
helloworld
7.类的方法名
function test1(){
echo '函数名为:' .__METHOD__;
}
test1();
输出结果:
函数名为:MyProject\test1
8.当前命名空间的名称(区分大小写)
<?php
//命名空间声明必须放在文件的第一行
namespace MyProject;
echo '命名空间是:"' , __NAMESPACE__, '""';
输出结果:
命名空间是:"MyProject"