PHP提供了很多预定义常量,不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。同时,PHP也在运行环境中提供了八个魔术常量,它们虽然被称为魔术常量,但是它们的值随着代码中的位置改变而变化。
echo __LINE__; //返回在文件中的行号 如:12
echo __FILE__; //返回文件的完整路径和文件名 如:/Users/zfs/Code/demo/index.php
echo __DIR__; //返回文件所在目录 如:/Users/zfs/Code/demo
function app(){ echo __FUNCTION__; //返回函数名 如:app}app();
namespace AppContainer;Trait Router { public static function bootstrap() { echo __TRAIT__.'<br>'; //返回trait被定义时的名字并区分大小写,trait名包含命名空间 如:AppContainerRouter }}class App{ use Router; public static function run() { static::bootstrap(); echo __CLASS__ .'<br>'; //返回类被定义时的名字并区分大小写,类名包含命名空间 如:AppContainerApp echo __METHOD__.'<br>'; //返回方法被定义时的名字并区分大小写 如:AppContainerApp::run echo __NAMESPACE__; //返回当前的命名空间名称并区分大小写 如:AppContainer }}App::run();