<?php
echo __LINE__; //当前行
echo __FILE__;//文件的完整路径和文件名
echo __DIR__;//文件所在目录
echo __FUNCTION__;//PHP4.3.0新增的,返回该函数在定义时的名称
echo __CLASS__;//PHP4.3.0新增的,类的名称(区分大小写)
echo __METHOD__;//PHP 5.0.0 新增的,类的方法名称(区分大小写)
echo __NAMESPACE__;//PHP 5.3.0新增的,当前命名空间的名称(区分大小写)
?>
还有一个比较特殊的,叫做:__TRAIT__ PHP5.4.0新增的
解释:从基类继承的成员被插入的 SayWorld Trait 中的 MyHelloWorld 方法所覆盖。其行为 MyHelloWorld 类中定义的方法一致。优先顺序是当前类中的方法会覆盖 trait 方法,而 trait 方法又覆盖了基类中的方法。
<?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();
?>
最后输出:Hello World!