站長資訊網
        最全最豐富的資訊網站

        小編帶你使用命名空間(php版)

        上一篇文章中我們了解了子命名空間,知道了如何去定義子命名空間,有需要的請看《php命名空間之子命名空間是什么?》。這次我們向大家介紹命名空間的使用方法,有需要的可以參考參考。

        首先我們來看一個例子。

        file1.php 文件代碼

        <?php namespace FooBarsubnamespace;   const FOO = 1; function foo() {} class foo {     static function staticmethod() {} } ?>

        file2.php 文件代碼

        <?php namespace FooBar; include 'file1.php';  const FOO = 2; function foo() {} class foo {     static function staticmethod() {} }  /* 非限定名稱 */ foo(); // 解析為函數 FooBarfoo foo::staticmethod(); // 解析為類 FooBarfoo ,方法為 staticmethod echo FOO; // 解析為常量 FooBarFOO  /* 限定名稱 */ subnamespacefoo(); // 解析為函數 FooBarsubnamespacefoo subnamespacefoo::staticmethod(); // 解析為類 FooBarsubnamespacefoo,                                   // 以及類的方法 staticmethod echo subnamespaceFOO; // 解析為常量 FooBarsubnamespaceFOO                                    /* 完全限定名稱 */ FooBarfoo(); // 解析為函數 FooBarfoo FooBarfoo::staticmethod(); // 解析為類 FooBarfoo, 以及類的方法 staticmethod echo FooBarFOO; // 解析為常量 FooBarFOO ?>

        讓我們好好看看這個例子, 在這個例子當中,最突出的就是foo::staticmethod(),大家有沒有看出來,不管是在哪一種用法中,我們都需要使用到“foo::staticmethod()”,但這是什么意思呢?我們具體來了解一下。

        根據例子我們可以看到“staticmethod()”其實是一個靜態方法的名稱,而“foo::”是根據“foo()”進行解析的。

        PHP 命名空間中的類名可以通過三種方式引用:

        • 非限定名稱,或不包含前綴的類名稱,例如“$c=new foo();”或“foo::staticmethod();”。如果當前命名空間是 space,foo 將被解析為 spacefoo。如果foo是全局代碼,不包含在任何命名空間中的代碼,則 foo 會被解析為foo。

          • 警告:如果未定義命名空間中的函數或常量,則非限定函數名或常量名將解析為全局函數名或常量名。

        • 限定名稱,或包含前綴的名稱,例如 $c = new espacefoo();spacefoo::staticmethod();。如果當前的命名空間是 space,則 foo 會被解析為 spacespacefoo。如果使用 foo 的代碼是全局的,不包含在任何命名空間中的代碼,foo 會被解析spacefoo。

        • 完全限定名稱,或包含了全局前綴操作符的名稱,例如, $c = new spacefoo();spacefoo::staticmethod();。在這種情況下,foo 總是被解析為代碼中的文字名(literal name)spacefoo

        完全限定名稱的函數,調用類和常量時會在編譯的時候發生解析。

        非完全限定名稱會根據導入規則在編譯的時候發生轉換。

        在名稱空間中,所有未根據導入規則轉換的限定名稱前面都有當前名稱空間名稱。

        就說到這里了,有其他想知道的,可以點擊這個哦。→ →php視頻教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久久99精品一区二区| 亚洲精品V欧洲精品V日韩精品| 一本色道久久88综合日韩精品| 久久96国产精品久久久| 亚洲精品无码AV人在线播放 | 久久最新精品国产| 日韩精品无码一区二区三区免费| 精品亚洲欧美无人区乱码| 亚洲国产精品久久久久久| 国产成人精品无码片区在线观看 | 久久精品国产精品亚洲人人| 99免费精品国产| 欧美日韩在线亚洲国产精品| 99久久久精品| HEYZO无码综合国产精品227| 奇米精品视频一区二区三区| 亚洲欧洲精品成人久久奇米网| 青青久久精品国产免费看| 国产乱码伦精品一区二区三区麻豆| 精品福利一区二区三| 国产成人精品久久免费动漫| 国产在线精品一区二区在线观看| 三上悠亚久久精品| 亚洲综合无码精品一区二区三区| 精品人妻少妇一区二区三区| 国产伦精品一区二区三区视频金莲 | 亚洲国产成人久久精品99 | 2021久久国自产拍精品| 日韩精品无码久久久久久| 亚洲精品中文字幕无码蜜桃| 中文成人无码精品久久久不卡| 欧美ppypp精品一区二区| 国产精品亚洲专区在线观看 | 欧美精品一区二区三区免费观看| 国产精品毛片a∨一区二区三区| 99久久精品免费看国产| 四虎在线精品视频一二区| 91久久精品91久久性色| 精品亚洲综合久久中文字幕| 国内精品免费在线观看| 日韩精品在线一区二区|