当前位置 博文首页 > 文章内容

    详解PHP中的魔术常量

    作者:shunshunshun18 栏目:未分类 时间:2021-11-28 10:48:48

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    2021041911412313610.jpg

    常量是一个简单值的标识符(名字),一旦定义常量就不允许再进行更改,但是凡事都有例外,PHP中内置了魔术常量,它们会随着位置的变化产生不同的值,本文就带大家一起来了解一下PHP中的魔术常量

    1.__LINE__

    <?php
    
    echo __LINE__."<br>";//3
    
    echo __LINE__."<br>";//5
    
    ?>

    文件中的当前行号。

    2.__FILE__

    <?php
            echo __FILE__."<br>";//F:\learnlog\zend\php\magic.php
    ?>

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

    3.__DIR__

    <?php
            echo __DIR__."<br>";//F:\learnlog\zend\php
    ?>

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

    4.__METHOD__

    <?php
    function sum(){
        echo __METHOD__."<br>";
    }
    sum();//输出:sum
    ?>

    当前函数的名称。

    5.__CLASS__

    <?php
    class People{
      
      static function sum(){
         echo __CLASS__;
      }
    }
    People::sum();//People
    ?>

    当前类的名称。

    6.__NAMESPACE__

    <?php
    namespace Controller;
    class People{
      
      static function sum(){
         echo __NAMESPACE__;
      }
    }
    People::sum();//Controller
    ?>

    当前命名空间的名称

    7.__TRAIT__

    <?php
    trait A{
         function traitName() 
         {echo __TRAIT__;}
     }
     trait B {
         use A;
     }
     class Test {
         use B;
     }
     (new Test)->traitName(); //A
    ?>

    Trait 的名字

    推荐:《》《》