亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

前端學PHP之命名空間

2020-03-22 19:05:55
字體:
來源:轉載
供稿:網友

  • 前面的話

      從廣義上來說,命名空間是一種封裝事物的方法。在很多地方都可以見到這種抽象概念。例如,在操作系統中目錄用來將相關文件分組,對于目錄中的文件來說,它就扮演了命名空間的角色。這個原理應用到程序設計領域就是命名空間的概念

      在PHP中,命名空間用來解決在編寫類庫或html' target='_blank'>應用程序時創建可重用的代碼如類或函數時碰到的兩類問題:一類是用戶編寫的代碼與PHP內部的類/函數/常量或第三方類/函數/常量之間的名字沖突;另一類是為很長的標識符名稱(通常是為了緩解第一類問題而定義的)創建一個別名(或簡短)的名稱,提高源代碼的可讀性。PHP命名空間提供了一種將相關的類、函數和常量組合到一起的途徑。本文將詳細介紹PHP的命名空間

    定義

      雖然任意合法的PHP代碼都可以包含在命名空間中,但只有以下類型的代碼受命名空間的影響,它們是:類(包括抽象類和traits)、接口、函數和常量

      命名空間通過關鍵字namespace來聲明。如果一個文件中包含命名空間,它必須在其它所有代碼之前聲明命名空間,除了一個以外:declare關鍵字

    <?phpnamespace MyProject;const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */  }?>

    子命名空間

      與目錄和文件的關系很象,PHP 命名空間也允許指定層次化的命名空間的名稱。因此,命名空間的名字可以使用分層次的方式定義

    <?phpnamespace MyProjectSubLevel;const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */  }?>
    <?php    namespace MyProjectSubLevel;    const NUM = 1;    echo NUM;//1    echo MyProjectSubLevelNUM;//1?>

    多命名空間

      可以在同一個文件中定義多個命名空間。在同一個文件中定義多個命名空間有兩種語法形式

      在實際的編程實踐中,非常不提倡在同一個文件中定義多個命名空間。這種方式的主要用于將多個 PHP 腳本合并在同一個文件中

    【1】簡單組合語法(不建議使用)

    <?phpnamespace MyProject;const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */  }namespace AnotherProject;const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */  }?>

    【2】大括號語法

    <?phpnamespace MyProject {const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */  }}namespace AnotherProject {const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */  }}?>
    <?phpnamespace MyProject {    const NUM = 1;}namespace AnotherProject {    const NUM = 2;    echo NUM;//2    echo MyProjectNUM;//1}?>

    全局

      將全局的非命名空間中的代碼與命名空間中的代碼組合在一起,只能使用大括號形式的語法。全局代碼必須用一個不帶名稱的 namespace 語句加上大括號括起來 

    <?phpnamespace MyProject {const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */  }}namespace { // global codesession_start();$a = MyProjectconnect();echo MyProjectConnection::start();}?>

    名稱解析

      非限定名稱Unqualified name是指名稱中不包含命名空間分隔符的標識符,例如 Foo

      限定名稱Qualified name是指名稱中含有命名空間分隔符的標識符,例如 FooBar

      完全限定名稱Fully qualified name是指名稱中包含命名空間分隔符,并以命名空間分隔符開始的標識符,例如 FooBar。 namespaceFoo 也是一個完全限定名稱

      如果要動態訪問元素(例如,變量函數),必須使用完全限定名稱

    <?phpnamespace MyProject;    function test(){        echo '111';    }    $var1 = 'test';    $var2 = 'MyProject	est';    $var1();//報錯    $var2();/111?>

    訪問內部元素

      PHP支持兩種抽象的訪問當前命名空間內部元素的方法,__NAMESPACE__ 魔術常量和namespace關鍵字

      常量__NAMESPACE__的值是包含當前命名空間名稱的字符串。在全局的,不包括在任何命名空間中的代碼,它包含一個空的字符串

    <?phpnamespace MyProject;    function test(){        echo '111';    }    $var = __NAMESPACE__.'	est';    $var();//111?>        

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    成人国产精品一区二区| 国产精品一香蕉国产线看观看| 久久久久久久国产精品视频| 色婷婷亚洲mv天堂mv在影片| 欧美孕妇与黑人孕交| 一本色道久久综合狠狠躁篇的优点| 欧美成人激情图片网| 久久精品视频va| 国产专区精品视频| 国产成人精品在线观看| 国产成人精彩在线视频九色| 国产丝袜精品第一页| 91免费人成网站在线观看18| 亚洲www在线观看| 成人黄色大片在线免费观看| 久久成人18免费网站| 成人国产精品一区二区| 国语自产精品视频在线看抢先版图片| 国产精品久久久久不卡| 日本精品视频在线| 国产一区香蕉久久| 久青草国产97香蕉在线视频| 日韩av一区二区在线| 亚洲无限乱码一二三四麻| 欧美国产精品va在线观看| 亚洲精品99久久久久| 亚洲性生活视频在线观看| 国模精品一区二区三区色天香| 国产69精品久久久久9999| 4438全国成人免费| 成人美女免费网站视频| 精品国产老师黑色丝袜高跟鞋| 欧美乱人伦中文字幕在线| 一区二区三区视频观看| 亚洲裸体xxxx| 欧美激情综合色| 亚洲女在线观看| 国产精品福利在线观看网址| 欧美丰满少妇xxxx| 亚洲人a成www在线影院| 国产成人精品久久二区二区91| 91精品综合久久久久久五月天| 欧洲精品久久久| 中文字幕精品—区二区| www国产亚洲精品久久网站| 福利视频一区二区| 久久久久亚洲精品国产| 人妖精品videosex性欧美| 国内伊人久久久久久网站视频| 91天堂在线观看| 午夜欧美不卡精品aaaaa| 国产精品亚洲网站| 91久久夜色精品国产网站| 欧美精品一本久久男人的天堂| 97国产精品视频| 中文字幕日韩精品在线观看| 亚洲国产精品va在线观看黑人| 91日本在线视频| 中文字幕国内精品| 国产成人高清激情视频在线观看| 欧美亚洲成人精品| 亚洲精品美女在线观看| 久久久噜噜噜久久| 一本色道久久综合狠狠躁篇的优点| 成人精品视频久久久久| 久久久久中文字幕| 久久精品国产综合| 91高清免费在线观看| 91在线国产电影| 欧洲成人免费aa| 一区二区欧美日韩视频| 97国产suv精品一区二区62| 97视频人免费观看| 欧美性猛交99久久久久99按摩| 欧美精品福利视频| 欧美极品在线视频| 欧美一区二区三区四区在线| 91国产美女视频| 国产欧美日韩丝袜精品一区| 欧美日韩国产中文字幕| 亚洲乱码一区二区| 日韩成人在线观看| 日韩av日韩在线观看| 中文字幕v亚洲ⅴv天堂| 久久成人18免费网站| 久久亚洲综合国产精品99麻豆精品福利| 亚洲欧美另类人妖| 日韩av最新在线观看| 国产极品精品在线观看| 另类天堂视频在线观看| 亚洲欧美精品在线| 91探花福利精品国产自产在线| 久久婷婷国产麻豆91天堂| 国产91在线播放精品91| 亚洲最大成人网色| 亚洲精品日韩激情在线电影| 亚洲人成网站999久久久综合| 欧美一级电影免费在线观看| 51精品在线观看| 欧美精品久久久久久久久久| 日韩在线视频观看正片免费网站| 成人自拍性视频| 亚洲丝袜在线视频| 久久视频精品在线| 欧美成人精品一区二区| 日韩美女在线看| 国产精品美女视频网站| 中文字幕欧美在线| 中文字幕自拍vr一区二区三区| 亚洲第一页自拍| 中文字幕不卡av| 中文字幕精品一区久久久久| 欧美性xxxxxxx| 成人免费在线网址| 欧美日韩国产丝袜美女| 日韩在线视频线视频免费网站| 日韩欧美精品网址| 亚洲在线观看视频网站| 777国产偷窥盗摄精品视频| 麻豆国产va免费精品高清在线| 日韩国产欧美精品一区二区三区| 成人乱色短篇合集| 91地址最新发布| 在线日韩中文字幕| 久久久亚洲网站| 国产精品久久久久久久美男| 九九久久精品一区| 欧美裸体xxxx极品少妇| 亚洲人成亚洲人成在线观看| 成人国产精品一区二区| 久久精品人人爽| 日韩成人在线视频| 欧美黑人狂野猛交老妇| 中文字幕久久久av一区| 国产一区二区黑人欧美xxxx| 91精品在线观| 国产精品伦子伦免费视频| 国产精品一久久香蕉国产线看观看| 久久男人的天堂| 伊人成人开心激情综合网| 黄色精品一区二区| 狠狠干狠狠久久| 欧美国产日韩一区二区在线观看| 国产日韩欧美在线视频观看| 亚洲成人激情图| 亚洲xxx视频| 亚洲精品99久久久久中文字幕| 97在线视频国产| 亚洲人成亚洲人成在线观看| 中文字幕亚洲一区在线观看| 亚洲国产天堂久久综合网| 久久资源免费视频| 国产日韩欧美夫妻视频在线观看| 亚洲精品一区二三区不卡| 国产精品久久久久久久久久免费| 久久久久国色av免费观看性色| 国产一区二区丝袜| 中文字幕九色91在线| 一本一本久久a久久精品综合小说| 欧美另类在线观看| 日韩一区二区在线视频| 亚洲精品中文字幕女同| 国模精品视频一区二区| 久久成人这里只有精品|