PHP 魔術常量含代碼

    PHP 魔術常量

    魔術常量是在PHP中預定義的常量,根據使用情況而發生變化。愛掏網 - it200.com它們以雙下劃線(__)開頭和結尾。愛掏網 - it200.com

    它們與其他預定義常量類似,但由于它們根據上下文變化值,所以被稱為 魔術 常量。愛掏網 - it200.com

    PHP中有 九個 魔術常量。愛掏網 - it200.com其中八個魔術常量以雙下劃線(__)開始和結尾。愛掏網 - it200.com

    1. __LINE__
    2. __FILE__
    3. __DIR__
    4. __FUNCTION__
    5. __CLASS__
    6. __TRAIT__
    7. __METHOD__
    8. __NAMESPACE__
    9. ClassName::class

    所有常量在編譯時解析,而不是運行時,與普通常量不同。愛掏網 - it200.com魔術常量是不區分大小寫的。愛掏網 - it200.com

    版本 描述
    5.3.0 添加了 __DIR____NAMESPACE__ 魔術常量
    5.4.0 添加了 __TRAIT__ 魔術常量
    5.5.0 添加了::class魔術常量

    以下是所有常量的定義,附帶示例代碼:

    __LINE__

    它返回當前文件中使用此常量時的行號。愛掏網 - it200.com

    示例:

    <?php 
        echo "<h3>Example for __LINE__</h3>";  
        // print Your current line number i.e;4   
        echo "You are at line number " . __LINE__ . "<br><br>";
    ?>
    

    輸出:

    ### Example for __LINE__
    
    
    You are at line number 4
    

    __FILE__

    這個魔術常量返回執行的文件的完整路徑,即文件所在位置。愛掏網 - it200.com如果在include語句內部使用,將返回被包含的文件的名稱。愛掏網 - it200.com

    示例:

    <?php 
        echo "<h3>Example for __FILE__</h3>";  
        //print full path of file with .php extension  
        echo __FILE__ . "<br><br>";
    ?>
    

    輸出:

    ### Example for __FILE__
    
    
    D:\xampp\htdocs\program\magic.php
    

    __DIR__

    它返回執行文件的完整目錄路徑。愛掏網 - it200.com該魔術常量返回的路徑相當于dirname(__FILE__)愛掏網 - it200.com除非是根目錄,否則該魔術常量不會有尾部斜杠。愛掏網 - it200.com

    示例:

    <?php 
        echo "<h3>Example for __DIR__</h3>";  
        //print full path of directory where script will be placed  
        echo __DIR__ . "<br><br>";
        //below output will equivalent to above one.
        echo dirname(__FILE__) . "<br><br>";  
    ?>
    

    輸出:

    ### Example for __DIR__
    
    
    D:\xampp\htdocs\program
    
    D:\xampp\htdocs\program
    

    __FUNCTION__

    這個魔術常量返回使用它的函數名稱。愛掏網 - it200.com如果在任何函數外部使用它,它將返回空。愛掏網 - it200.com

    示例:

    <?php 
        echo "<h3>Example for __FUNCTION__</h3>";  
        //Using magic constant inside function.  
        function test(){  
            //print the function name i.e; test. 
            echo 'The function name is '. __FUNCTION__ . "<br><br>"; 
        }  
        test();  
    
        //Magic constant used outside function gives the blank output.  
        function test_function(){  
            echo 'Hie';  
        }  
        test_function();  
        //give the blank output. 
        echo  __FUNCTION__ . "<br><br>";
    ?>
    

    輸出:

    ### Example for __FUNCTION__
    
    
    The function name is test
    
    Hie
    

    __CLASS__

    它返回使用這個魔術常量的類名。愛掏網 - it200.com__CLASS__常量在traits中也可用。愛掏網 - it200.com

    示例:

    <?php 
        echo "<h3>Example for __CLASS__</h3>";  
        class JTP  
        {  
            public function __construct() {  
                ;  
        }  
        function getClassName(){  
            //print name of the class JTP. 
            echo __CLASS__ . "<br><br>"; 
            }  
        }  
        t = new JTP;t->getClassName();  
    
        //in case of multiple classes 
        class base
        {  
        function test_first(){  
                //will always print parent class which is base here.  
                echo __CLASS__; 
            }  
        }  
        class child extends base  
        {  
            public function __construct() {  
                ;  
            }  
        }  
        t = new child;t->test_first();  
    ?>
    

    輸出結果:

    ### Example for __CLASS__
    
    
    JTP
    
    base
    

    __TRAIT__

    這個魔術常量返回使用它的特性名稱。愛掏網 - it200.com

    示例:

    <?php 
        echo "<h3>Example for __TRAIT__</h3>";  
        trait created_trait {  
            function jtp(){  
                //will print name of the trait i.e; created_trait  
                echo __TRAIT__;
            }  
        }  
        class Company {  
            use created_trait;  
            }  
        a = new Company;a->jtp();  
    ?>
    

    輸出:

    ### Example for __TRAIT__
    
    
    created_trait
    

    __METHOD__

    它返回包含這個魔法常量的類方法的名稱。愛掏網 - it200.com方法名返回的是聲明時的名稱。愛掏網 - it200.com

    示例:

    <?php 
        echo "<h3>Example for __METHOD__</h3>";
        class method {  
            public function __construct() {  
                //print method::__construct  
                    echo __METHOD__ . "<br><br>"; 
                }  
            public function meth_fun(){  
                //print method::meth_fun  
                    echo __METHOD__; 
            }  
        }  
        a = new method;a->meth_fun();
    ?>
    

    輸出:

    ### Example for __METHOD__
    
    
    method:: construct
    method:: meth_fun
    

    __NAMESPACE__

    它返回當前命名空間的名稱。愛掏網 - it200.com

    示例:

    <?php 
        echo "<h3>Example for __NAMESPACE__</h3>";
        class name {  
            public function __construct() {  
                echo 'This line will print on calling namespace.';   
            }   
        }  
        class_name = __NAMESPACE__ . '\name';a = new class_name; 
    ?>
    

    輸出:

    ### Example for __NAMESPACE__
    
    
    This line will print on calling namespace.
    

    ClassName::class

    這個魔術常量不是以雙下劃線(__)開頭和結尾。愛掏網 - it200.com它返回ClassName的完全合格名稱。愛掏網 - it200.comClassName::class添加在 PHP 5.5.0 中。愛掏網 - it200.com它在命名空間類中很有用。愛掏網 - it200.com

    示例:

    <?php 
        namespace Technical_Portal;
        echo "<h3>Example for CLASSNAME::CLASS </h3>";
        class javatpoint {  
        }
        echo javatpoint::class;    //ClassName::class 
    ?>
    

    輸出:

    ### Example for ClassName::class
    
    
    Technical_Portal\javatpoint
    

    注意:記住命名空間必須是最前面的語句或在腳本中的任何聲明調用之后,否則會產生致命錯誤。愛掏網 - it200.com

    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 日本一区中文字幕日本一二三区视频| 久久久久人妻一区精品果冻| 无码少妇一区二区三区浪潮AV| 日韩最新视频一区二区三| 国产aⅴ一区二区| 亚洲日韩精品国产一区二区三区| 99精品高清视频一区二区| 国产综合视频在线观看一区 | 亚洲视频在线一区二区| 亚州AV综合色区无码一区| 久久久国产精品亚洲一区| 色老板在线视频一区二区| 久久精品无码一区二区日韩AV| 国产精品福利一区| 国产精品伦子一区二区三区| 在线视频精品一区| 国产成人欧美一区二区三区| 免费无码A片一区二三区| 成人区人妻精品一区二区不卡| 国产主播福利一区二区| 无码中文人妻在线一区| 日本精品无码一区二区三区久久久 | а天堂中文最新一区二区三区| 天美传媒一区二区三区| 亲子乱av一区区三区40岁| 成人免费视频一区二区三区| 夜夜高潮夜夜爽夜夜爱爱一区| 日韩一区二区免费视频| 一本色道久久综合一区| 亚洲日本中文字幕一区二区三区 | 中文激情在线一区二区| 亚洲国产系列一区二区三区| 亚洲爆乳精品无码一区二区| 在线观看一区二区精品视频| 国产av夜夜欢一区二区三区| 中文字幕色AV一区二区三区| 老熟女五十路乱子交尾中出一区| 精品一区二区三区四区在线播放| 亚洲AV无码一区二区三区鸳鸯影院 | 无码人妻AV免费一区二区三区| 亚洲一区在线视频观看|