20200109 - 名稱空間

不正發表於2020-01-09

名稱空間解決的問題

解決類,函式的重名問題,相當於電腦的資料夾

文件

PHP手冊 - 名稱空間

手冊中的定義:

  1. 使用者編寫的程式碼與PHP內部的類/函式/常量或第三方類/函式/常量之間的名字衝突。
  2. 為很長的識別符號名稱(通常是為了緩解第一類問題而定義的)建立一個別名(或簡短)的名稱,提高原始碼的可讀性。

注意問題

  1. 名稱空間一般與實際資料夾對應
  2. 實際開發中不建議一個檔案內寫多個名稱空間
  3. 名稱空間的分隔符是反斜槓 \

語法

namespace:定義名稱空間

use:載入指定名稱空間

as:給類起一個別名,方便呼叫

  • use \a\abab as ab new ab()

路徑:

  1. 絕對路徑
    • 以 ' \ ' 開頭的完整路徑
    • 使用 use 時無需 ' \ ',預設就是絕對路徑
  2. 相對路徑
    • 直接輸入子名稱空間,以當前程式碼所在名稱空間計算

基礎語法:

//載入路徑為a\b\c的名稱空間
use a\b\c;

//載入路徑為b\c\d並起一個別名
use b\c\d as gg ;

//定義路徑為a\b\c的名稱空間
namespace a\b\c ;
    class xx{
}

//定義路徑為b\c\d的名稱空間
namespace b\c\d ;
    class x{
}

//實際開發中不建議一個檔案內定義多個名稱空間
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章