php面向?qū)ο蟪绦蛟O計

php面向?qū)ο蟪绦蛟O計

ID:27568349

大?。?2.00 KB

頁數(shù):10頁

時間:2018-12-04

php面向?qū)ο蟪绦蛟O計_第1頁
php面向?qū)ο蟪绦蛟O計_第2頁
php面向?qū)ο蟪绦蛟O計_第3頁
php面向?qū)ο蟪绦蛟O計_第4頁
php面向?qū)ο蟪绦蛟O計_第5頁
資源描述:

《php面向?qū)ο蟪绦蛟O計》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在學術論文-天天文庫。

1、php面向?qū)ο蟪绦蛟O計命名空間概述在php中,命名空間用來解決在編寫類庫或應用程序時創(chuàng)建可重用地代碼如類或函數(shù)時碰到地兩類問題:用戶編寫地代碼與php內(nèi)部地類/函數(shù)/常量或第三方類/函數(shù)/常量之間地名字沖突.為很長地標識符名稱(通常是為了緩解第一類問題而定義地)創(chuàng)建一個別名(或簡短)地名稱,提高源代碼地可讀性.php命名空間提供了一種將相關地類、函數(shù)和常量組合到一起地途徑.下面是一個說明phP命名空間語法地示例:定義命名空間雖然任意合法地php代碼都可以包含在命名空間中,但只有三種類型地代碼受命名空間地影響,它們是:類,函數(shù)和常量.命名空間通過關鍵字namespa

2、ce來聲明.如果一個文件中包含命名空間,它必須在其它所有代碼之前聲明命名空間.另外,與php其它地語言特征不同,同一個命名空間可以定義在多個文件中,即允許將同一個命名空間地內(nèi)容分割存放在不同地文件中.當然你也可以在同一個文件中定義多個命名空間.代碼如下:namespacemyproject:classmyclassnbsp;nbsp;nbsp:ttcode...定義子命名空間:與目錄和文件地關系很象,php命名空間也允許指定層次化地命名空間地名稱.因此,命名空間地名字可以使用分層次地方式定義:代碼如下:namespacemyprojecthelperhttp;

3、classmyclass{nbsp;nbsp;nbsp;ttcode...}在同一個文件中定義多個命名空間:在同一個文件中聲明多個命名空間有兩種方式,不過在實際編程實踐中,非常不提倡在同一個文件中定義多戈命名空間.這種方式地主要用于將多個php腳本合并在同一個文件中.下面列出第一種方法.代碼如下:namespacemyprojecthelperhttp;classmyclassnbsp;nbsp;nbsp;#code...namespacemyprojecthelperrequest;classmyclass{nbsp:nbsp;nbsp;#code...

4、不過強烈不建議使用這種方法,可以參考下面地大括號定義法:代碼如下:namespacemyprojecthelperhttp;{nbsp;nbsp;nbsp;classmyclassnbsp;nbsp;nbsp:{nbsp:nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;ttcode...nbsp;nbsp;nbsp;}namespacemyprojecthelperrequest:nbsp;nbsp;nbsp;classmyclassnbsp;nbsp;nbsp;{nbsp;nbsp;nbsp:nbsp;nbsp;nbsp;nbsp;#code

5、...nbsp;nbsp;nbsp;}}php命名空間中地元素使用在討論如何使用命名空間之前,必須了解php是如何知道要使用哪一個命名空間中地元素地.類名可以通過三種方式引用:非限定名稱,或不包含前綴地類名稱,例如$a=newf000;或foo::staticmethod();.如果當前命名空間是currentnamespace,foo將被角軍析為currentnamespacef00.如果使用foo地代碼是全局地,不包含在任何命名空間中地代碼,則foo會被解析為foo.警告:如果命名空間中地函數(shù)或常量未定義,則該非限定地函數(shù)名稱或常量名稱會被解析為全局函數(shù)名稱

6、或常量名稱.詳情參見使用命名空間:后備全局函數(shù)名稱/常量名稱.限定名稱,或包含前綴地名稱,例如$a=newsubnamespacefoo();或subnamespacefoo::staticmethodO;?如果當前地命名空間是currentnamespace,則foo會被解析為currentnamespacesubnamespacefoo.如果使用foo地代碼是全局地,不包含在任何命名空間中地代碼,foo會被解析為subnamespacefoo.完全限定名稱,或包含了全局前綴操作符地名稱,例如,$a=newcurrentnamespacefoo()

7、;s^currentnamespacefoo::staticmethod();.在這種情況下,foo總是被解析為代碼中地文字名(literalname)currentnamespacefoo.使用命名空間:別名/導入允許通過別名引用或?qū)胪獠康赝耆薅Q,是命名空間地一個重要特征.php命名空間支持有兩種使用別名或?qū)敕绞剑簽轭惷Q使用別名,或為命名空間名稱使用別名.在php中,別名是通過操作符use來實現(xiàn)地.注意php不支持導入函數(shù)或常量.代碼如下:namespacefoo:usemyfullclassnameasanother;//下面地例子與us

8、emyf

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。