首頁 >頭條 >帶你玩PHP命名空間

帶你玩PHP命名空間

无忌哥哥
无忌哥哥原創
2018-06-28 15:47:192352瀏覽

* 命名空間

 * 先理解一個重要概念:程式碼重複使用

 * 我們學習物件導向程式設計的終極目標是什麼? "程式碼重複使用"

# * 一、徹底理解程式碼重複使用機制?

## * **到目前為止,我們已經學到的程式碼重複使用的實作手段

 * 1. 函數: 程式碼重複使用最簡單的方式;

 * 2. 類別與物件:將函數與它可能用到的資料封裝到一起;

 * 3. trait與介面:一種特殊的類別,本質是仍是函數與資料的封裝;

 * 4. 常數:因為常數具有一旦定義不可修改性,可以做到一次宣告,隨處呼叫,而值不會改變

# * 二、徹底理解什麼是全局?

 * 1.全局其它就是指當前腳本,是不能跨腳本的,更不是指整個項目

 * 2.全局與局部是一對雙胞胎兄弟,他們有一個共同的親爹:作用域,都由它管著

 * 三、徹底理解php腳本中有哪些成員?

 * 1.變數:包括系統預置變數與使用者自訂變數;

 * 2.常數:包含系統預設常數,使用者自訂常數;

 * 3.函數:包含匿名函數/函數表達式/自執行函數;

 * 4.類別與物件:包括抽象類別,介面,trait;

 * 三、徹底理解什麼是作用域?

#** ****作用域主要是針對變數

 *****PHP中的變數有三種作用域: 函數作用域,全域作用域,超全域作用哉;

 * 1. 全域作用域: 在函數外部宣告,在函數內部不能直接使用

 *    注意: 函數中使用全域變數必須用global宣告,或使用超全域陣列:$GLOBALS

# * 2. 函數作用域:也就是局部作用域,包含函數的參數以及函數內宣告的變數,離開函數則自動清除;

 * 3. 超全域作用域: 除了在全域有效外,在函數內也可以不用宣告直接使用

 * 四、為什麼要使用命名空間?

# * 1.類別,函數,常數都是全域有效,包括在函數中也可以直接使用.

 * 2.因此,在全域中不允許有重名的類別,函數和常數。

 * 3.如果想從外部導入一個函數庫或類別庫,他們的函數名稱,類別名稱極有可能與當前腳本衝突

 * 4.所以,必須要有一套對於工作在全域範圍內的腳本成員,進行標識符命名衝突處理的機制。

 * 5.命名空間就是這樣一套解決方案,他不僅可以讓用戶為全局成員起一個較短的名稱,又解決了

 * 第三方資源的引入帶來的重名問題。

 * 6.在沒有使用任何命名空間的情部下,所有類別,常數,函數全部宣告在全域空間,用\表,現在我們在

 * 他們之前加上反斜線\之外,你會發現,執行結果也是正確的.

 * 宣告類別,常數,函數的時候,前面不需要加\,呼叫的時候才需要加上\

 * 命名空間非常重要,如果不能徹底掌握,將會成為你以後學習的最大障礙!!! 

#

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn