魔术常量
- PHP向它运行的任何脚本提供了大量的预定义常量
- 但是,很多常量都是由不同的扩展库定义,只有加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了
- 有八个魔术常量它们的值随着它们在代码中的位置改变而改变
LINE
- 返回 文件中当前的行号
- 实例:
<?php
echo "这是第" . __LINE__ . "行";
?>
运行截图
FILE
- 文件的完整路径和文件名
- 如果用在被包含文件中,则返回被包含的文件名
- 实例:
<?php
echo "这该文件位于 '" . __FILE__ . "'";
?>
运行截图
DIR
- 文件所在的目录
- 如果用在被包含文件中,则返回被包括的文件所在目录
- 实例:
<?php
echo "这该文件位于 '" . __DIR__ . "'";
?>
运行截图
FUNCTION
- 返回所在的函数名称
- 实例:
<?php
function test(){
echo "函数名:" . __FUNCTION__;
}
test();
?>
运行截图
CLASS
- 返回所在类的名称
- 实例:
<?php
class test{
function t(){
echo "类的名称:" . __CLASS__;
echo "<br>";
echo "函数名:" . __FUNCTION__;
}
}
$a = new test();
$a -> t();
?>
运行截图
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();
?>
运行截图
METHOD
- 类的方法名
- 返回该方法被定义时的名字
- 实例:
<?php
function test() {
echo '函数名为:' . __METHOD__ ;
}
test();
?>
运行截图
NAMESPACE
- 当前命名空间的名称
- 实例:
<?php
namespace MyProject;
echo '命名空间为:"', __NAMESPACE__, '"';
?>
运行截图