首頁 後端開發 php教程 第十四節--命名空間_PHP教程

第十四節--命名空間_PHP教程

Jul 21, 2016 pm 04:01 PM
命名 空間

/*
--------------------------------------------- ----------------------------------
| = 本文為Haohappy讀>
| = 中Classes and Objects一章的筆記 
| = 翻譯為主要在Classes and Objects一章中的筆記 
| = 翻譯為主個人心得 
| = 為避免可能發生的不必要的麻煩 》批評、謝謝,希望與所有PHP愛好者共同進步! 
| = PHP5研究中心: http://blog.csdn.net/haohappy2004
----------------- -------------------------------------------------- ------------
*/
命名空間在PHP5正式版本中取消,本節內容無效--Haohappy註
第十四節--命名空間
命名變數,函數和類別是挺困難的,除了要考慮到變數的名稱要易於理解,還要擔心是否這個名稱在其它某個地方已經使用過. 在一小段腳本中,第二個問題是基本問題. 當你考慮重用你的程式碼, 在這之後的專案程式碼必須避免使用你用過的命名. 通常來說,可重用的程式碼總是包含在函數或類別中, 需要處理許多可能發生的命名衝突. 但函數和類別之間也可能發生命名衝突. 你可以嘗試避免出現這種情況,透過在所有類別前添加前綴的方法,或者你可以使用namespace語句.
Namespace關鍵字給一塊程式碼命名. 在這個程式碼區塊外部,腳本必須用運算元::加上命名空間的名稱來引用這個程式碼區塊. 引用靜態的類別成員也是用相同的方法. 在命名空間內程式碼不需要宣告命名空間, 它本身就是預設的. 這種方法比添加前綴的方法好. 你的程式碼可由此變得更加緊湊和可讀.
你可能想知道是否可以建立分層的(嵌套的)命名空間. 答案是不可以. 但你可以在命名空間名稱後加上冒號, 你可以再次調用在名稱中不包含冒號的變量,函數和類. 命名空間允許存在冒號,只要不是第一個字符和最後一個字符或接著另一個冒號. 命名空間的名稱中的冒號對於PHP來說沒有任何意義, 但如果你用他們來區分邏輯上的區塊, 他們可以很好地說明你的代碼中的父子(parent-child)關係.
/* 注: 即可以使用這樣: 
namespace animal:dog {}
namespace animal:pig {}
用冒號來說明parent-child關係.
>你可能在一個命名空間語句內沒有包含函數,類別或常數定義以外的任何東西. 這將阻止你使用他們來改進舊的使用全域變數的函數庫. 命名空間最適合於物件導向. 命名空間內的常數與類別中的常數使用相同的語法. 
範例6.17顯示如何使用命名空間.
Listing 6.17 Using a namespace

複製碼🎜> 程式碼如下:
   namespace core_php:utility  
   {  
               public function uppercase($text) //大寫  
           { $text));  
           }  
       }  與非介面     function uppercase($text)  
       {  
        ;  
           return($e->uppercase($text));  
       測試命名空間中的類別  
   $e = new core_php:utility ::textEngine;  
   print($e->uppercase("from object") . "
");  
   //test function   
   //test function  utility::uppercase("from function") . "
");  
   //bring class into global namespace 將類導入>   $e2 = new textEngine;  
?>  
Import語句把命名空間中的某個部分導入全域的命名空間. 
要導入單一的命名空間的成員,可以指定類型為constant,function或class ,接著寫上成員的名稱;
//如import class XXX
如果你想導入某一特定類型的所有成員,你可以用*來代替名稱;
//如 import constant * 導入所有常數
如果你想導入所有類型的所有成員,用*即可. 
//如 import *
在成員之後,用from關鍵字加上命名空間的名稱.
/ /如 import class textEngine from core_php:utility;
總之你要寫成像import * from myNamespace或 import class textEngine from core_php:utilityility這樣的語句,就像例6.17)一樣。



http://www.bkjia.com/PHPjc/316928.html

www.bkjia.com

true
http: //www.bkjia.com/PHPjc/316928.html

TechArticle/* ---------------------- -------------------------------------------------- ------- |=本文為Haohappy讀CorePHPProgramming |=中ClassesandObjects一章的筆記|=翻譯為主個人...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

機器學習基礎之數字上的距離:點在空間中的距離 機器學習基礎之數字上的距離:點在空間中的距離 Apr 11, 2023 pm 11:40 PM

本文轉載自微信公眾號「活在資訊時代」,作者活在資訊時代。轉載本文請聯絡活在資訊時代公眾號。在機器學習中,一個基礎的概念就是如何判斷兩個樣本之間的差異,以便能夠評估兩個樣本之間的相似性和類別等資訊。而判斷這種相似性的測量就是兩個樣本在特徵空間內的距離。根據資料特徵的不同,度量方法有很多種。一般而言,對兩個資料樣本x,y,定義一個函數d(x,y),如果定義其為兩個樣本之間的距離,那麼d(x,y)則需要滿足以下幾個基本性質:非負性:d(x,y)>=0同一性:d(x,y)=0 ⇔ x=y對

如何在 Ubuntu 上新增交換空間 22.04 LTS 如何在 Ubuntu 上新增交換空間 22.04 LTS Feb 20, 2024 am 11:12 AM

交換空間在Linux系統中扮演著重要角色,特別是在系統記憶體不足時。它充當一個備用的記憶體儲存空間,可以幫助系統平穩運行,即使在負載高的情況下也能保持穩定性。本文為您提供了在Ubuntu22.04LTS上新增交換空間的詳細指南,以確保您的系統效能經過最佳化並能應付各種工作負載。了解交換空間交換空間提供虛擬內存,用於補充系統的實體RAM。當系統的RAM不足時,核心會將資料交換到磁碟,以防止記憶體不足和系統崩潰。 Linux系統常用交換空間來處理這種情況。同時運行多個內存密集型應用程式處理非常大的檔案或數據

C++ 函數命名中參數順序的考慮 C++ 函數命名中參數順序的考慮 Apr 24, 2024 pm 04:21 PM

在C++函數命名中,考慮參數順序至關重要,可提高可讀性、減少錯誤並促進重構。常見的參數順序約定包括:動作-物件、物件-動作、語意意義和遵循標準函式庫。最佳順序取決於函數目的、參數類型、潛在混淆和語言慣例。

c盤剩餘空間多大合適 c盤剩餘空間多大合適 Jun 27, 2023 pm 02:51 PM

c盤剩餘空間50-80G比較適合。由於系統在日後使用當中會產生垃圾檔案,快取檔案等因此建議至少預留50GB-80GB的空間給C碟;如果您不習慣在安裝軟體時選擇路徑,日常也不是經常清理電腦,那麼至少需要100GB 。

升級win11需要的C盤空間介紹 升級win11需要的C盤空間介紹 Dec 23, 2023 am 08:57 AM

眾所周知,如果系統安裝完成後佔用系統碟太大,可能會導致系統運行卡頓、延遲,甚至是檔案遺失。因此大家在安裝win11系統之前,需要先了解升級win11需要多大C盤空間,下面就跟著小編一起來看看吧。升級win11需要多大C碟空間:答:升級win11需要20-30GB的C碟空間。 1.根據微軟的win11設定要求可以看到,win11安裝需要64GB的硬碟空間。 2、但其實一般來說是不需要這麼大的空間的。 3.根據已經安裝win11的用戶回饋,win11升級大概需要20-30GB的C碟空間。 4.但是如果我門只有

如何釋放 Xbox Series S 或 Xbox Series X 上的空間 如何釋放 Xbox Series S 或 Xbox Series X 上的空間 Apr 19, 2023 pm 01:46 PM

Xbox遊戲機有大量可供下載玩的遊戲。再加上Microsoft的Xbox遊戲通行證訂閱,樂趣無窮無盡的遊戲收藏永遠不會停止。但是,有可用於遊戲的空間問題,XboxSeriesS為356GB,XboxSeriesX為850GB。雖然這在以前的遊戲版本中很好,遊戲的最大大小可能在20到45GB之間,這不是最近的遊戲。最近可用的遊戲最終佔用了磁碟上的大量空間,從而使我們下載其他遊戲的空間更少。 ForzaHorizo​​n5和Halo5Guardians等

iOS 17.2:如何在 iPhone 15 Pro 上錄製空間視頻 iOS 17.2:如何在 iPhone 15 Pro 上錄製空間視頻 Dec 15, 2023 pm 01:09 PM

如果您使用的是iPhone15或iPhone15ProMax,iOS17.2允許您錄製空間視頻,以便在Apple即將推出的VisionPro耳機上的照片應用程式中查看。這是你如何做到的。 Apple的VisionPro耳機預計將於2024年<>月左右發售。在那之前,您可以為此做好準備的一種方法是使用iPhone以一種稱為空間視頻的特殊格式錄製視頻,該格式可在Apple的耳機上觀看。在iPhone上觀看時,空間視頻顯示為普通視頻,但它們在VisionPro上提供了近乎三維

網路空間安全中的人工智慧技術綜述 網路空間安全中的人工智慧技術綜述 Apr 11, 2023 pm 04:10 PM

1、引言由于当下计算机网络的爆炸式增长,随之而来的问题是数目急剧增长的网络攻击。我们社会的各种部门,从政府部门到社会上的各种关键基础设施,都十分依赖计算机网络以及信息技术。显然它们也很容易遭受网络攻击。典型的网络攻击就是使目标计算机禁用、使服务脱机或者访问目标计算机的数据。自上世纪九十年代以来,网络攻击的数量和影响已经显著增加。网络安全指的是一系列用来保护网络设备活动和措施的,能够使得它们免遭所有可能威胁的技术。在传统的网络安全技术中,大都是静态的访问管理,安全控制系统会根据预设的定义进行保护。

See all articles