PHP的魔术常量(常用八大常量)

PHP的魔术常量都是由不同的扩展库定义的,只有在加载了这些扩展时才会出现,或者动态加载后

有八个魔术常量他们的值随着他们在代码中的位置改变而改变。

__LINE__  文件中的当前行号。

实列:

<?php 

echo __LINE__;

?>

__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,择返回被包含的文件名。

<?php

echo __FILE__;

?>

__DIR__文件所在目录。如果用在被包括文件中,则返回被包括的文件所在的目录。

他等价于dirname(__FILE__).除非是根目录,否者目录中名不包括末尾的斜杠

<?php

echo __DIR__;

?>

__FUNCTION__  函数名称 在函数中返回该函数被定义时的名字(区分大小写)。

<?php

function test() {

echo '该函数为:'.__FUNCTION__;

}

?>

__CLASS__  类的名称,返回该类被定义时的名字(区分大小写);

<?php

class test{

function _print(){

echo __CLASS__;

echo __FUNCTION__;

}

}

$t = new test();

$t->_print();

?>

输出结果为:

类名为:test

函数名为:_print

__TRAIT__ PHP实现了代码复用的一个方法,成为traits。

trait 名包括其被声明的作用区域,列如(FooBar)

从基类继承的成员被插入的SayWorld Trait 中的 MyHelloWorld方法所覆盖。其行为为MyHelloWord类中定义的方法一致。

优先顺序是当前类中的方法会覆盖trait方法,而tarit方法又覆盖了基类中的方法。

<?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();

?>

__NAMESPACE__ 当前命名空间的名称 (区分大小写)。

<?PHP

namespace MyProject;

echo __NAMESPACE__;

?>

原文地址:https://www.cnblogs.com/web928943/p/12460875.html