標籤:ros 編碼 post 圖片 概述 介紹 ssm 中文 sql資料庫
說說PHP中的命名空間相關概念
1. PHP中的命名空間是什嗎?
什麼是命名空間?“從廣義上來說,命名空間是一種封裝事物的方法。在非常多地方都能夠見到這樣的抽象概念。
比如。在作業系統中檔案夾用來將相關檔案分組。對於檔案夾中的檔案來說,它就扮演了命名空間的角色。詳細舉個範例,檔案 foo.txt 能夠同一時候在檔案夾/home/greg 和 /home/other 中存在。但在同一個檔案夾中不能存在兩個 foo.txt 檔案。
另外。在檔案夾 /home/greg 外訪問 foo.txt 檔案時,我們必須將檔案夾名以及檔案夾分隔字元放在檔案名稱之前得到 /home/greg/foo.txt。這個原理應用到程式設計領域就是命名空間的概念。”――命名空間概述
2. PHP命名空間該怎樣理解?
從本質上講,命名空間就是一個容器,這個容器內我們能夠放入類、函數和變數。他們在同一命名空間內能夠無條件相互訪問。
在命名空間之外,就必須引用或者匯入其它命名空間。才幹調用它們包括的這些項。
命名空間跟shell中的檔案檔案夾的概念是一樣一樣的。在當前檔案夾下能夠直接用檔案名稱訪問全部檔案,假設須要訪問其它檔案夾下的檔案,就須要輸入相對路徑或絕對路徑。
引用方式:
namespace foo; class Foo { public function foo() { return \top\namespace\bar\Bar::fuck(); } }
匯入方式:
namespace foo; use top\namespace\bar\Bar; class Foo { public function foo() { return Bar::fuck(); } }
匯入就相當於將目的類複製一份到當前命名空間中(http://www.lai18.com/content/368824.html)。
3. PHP命名空間有何實際應用?
命名空間的存在是為瞭解決以下兩個問題:
1). 使用者編寫的代碼與PHP內部的類/函數/常量或第三方類/函數/常量之間的名字衝突。
2). 為非常長的標識符名稱(一般是為了緩解第一類問題而定義的)建立一個別名(或簡短)的名稱,提高源碼的可讀性。
4. 一些tips
1. 同一個空間下的類直接相互直接調用,屬於一家。比如 Laravel 中的 PageController 類中能夠直接寫 Page::all() 這種代碼來調用 Page 這個model。由於他們倆都在頂級命名空間下。
2. 若一個類存在於非頂級命名空間中,那麼它僅僅能在調用相同是當前命名空間下的其它類才不用“引用”或“匯入”。它們屬於一家。不論什麼子命名空間都是還有一個命名空間。還有一個容器,沒有除了容器之間關係之外的不論什麼特殊關係。
3. Laravel 採用 classmap 方式進行自己主動載入(autoload)。PHP儘管有了命名空間這個進階特性,可是這僅僅是邏輯關係,require 檔案還是要有的。這個類和檔案的相應關係就存在 /vendor/composer/autoload_classmap.php ,每次 composer dump-autoload 都會又一次編譯、產生。
延伸閱讀
《PHP基礎知識總結》系列技術文章整理收藏
總結PHP基礎知識。對剛開始學習的人還是高手都值得參考鞏固。
1PHP檢查庫或函數是否可用的方法
2關於PHP5 Session生命週期介紹
3PHP頁面和Mysql資料庫的轉UTF8編碼問題總結
4WAMP5的配置問題
5揭秘PHP深受Web開發人員喜愛的原因
6PHP中浮點數計算比較及取整不準確的解決方案
7php擷取client電腦螢幕參數的方法
8對於PHP中命名空間概念的入門理解
9php5.4下面版本號碼json不支援不轉義內容中文的解決方案
10PHP相關面試中最常常涉及的12個問題
11PHP函數extension_loaded()使用方法執行個體
12關於PHP浮點數精度損失問題
13PHP中使用正則表達式提取中文實現筆記
14PHP中使用break跳出多重迴圈代碼執行個體
15php實現遍曆檔案夾並刪除指定檔案裡指定內容
16PHP中的命名空間相關概念淺析
1750個提高PHP運行效率的技巧 【轉載】
18php數組函數序列之sort() 對數組的元素值進行升序
19PHP實現的各種中文編碼轉換類分享
20PHP使用mb_substr()解決中文字串截取亂碼問題
21php中get_object_vars()方法使用方法執行個體
22PHP結合HTML5使用FormData對象提交表單及上傳圖片
23php使用parse_url和parse_str解析URL
24PHP實現加密的幾種方式介紹
25PHP 魔術變數和魔術函數具體解釋
26PHP中return使用方法具體解讀
27Java和PHP在Web開發方面對照分析
28PHP擷取POST資料的幾種方法匯總
29令PHP剛開始學習的人的困惑的10個知識點
30PHP魔術方法使用總結
31PHP:40+開發工具推薦
32php中利用header設定content-type和常見檔案類型的content-type
說說PHP中的命名空間相關概念