zoukankan      html  css  js  c++  java
  • 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__;

    ?>

  • 相关阅读:
    卫星时间同步装置的安装及售后
    windowsU盘重装系统:操作流程
    vue安装正确流程
    win10以太网未识别的网络
    [UnityShader]unity中2D Sprite显示阴影和接受阴影
    [UnityShader]说厌了的遮挡显示
    [Unity]利用Mesh绘制简单的可被遮挡,可以探测的攻击指示器
    ConcurrentHashMap源码解读
    Vector底层原理
    LinkedList集合底层原理
  • 原文地址:https://www.cnblogs.com/web928943/p/12460875.html
Copyright © 2011-2022 走看看