命名空間概述理解

2021-07-29 22:52:17 字數 820 閱讀 8057

命名空間概述理解

命名空間概述

什麼是命名空間?從廣義上來說,命名空間是一種封裝事物的方法。在很多地方都可以見到這種抽象概念。例如,在作業系統中目錄用來將相關檔案分組,對於目錄中的檔案來說,它就扮演了命名空間的角色。具體舉個例子,檔案

foo.txt

可以同時在目錄

/home/greg

和/home/other

中存在,但在同乙個目錄中不能存在兩個

foo.txt

檔案。另外,在目錄

/home/greg

外訪問foo.txt

檔案時,我們必須將目錄名以及目錄分隔符放在檔名之前得到

/home/greg/foo.txt

。這個原理應用到程式設計領域就是命名空間的概念。

在php

中,命名空間用來解決在編寫類庫或應用程式時建立可重用的**如類或函式時碰到的兩類問題:

1. 使用者編寫的**與

php內部的類/函式

/常量或第三方類/函式

/常量之間的名字衝突。

2. 為很長的識別符號名稱

(通常是為了緩解第一類問題而定義的

)建立乙個別名(或簡短)的名稱,提高源**的可讀性。

值得一提的是,

命名空間其實與檔案路徑並無具體聯絡

,命名空間一開始只是為了解決命名衝突的問題,後來有人將其使用在自動載入類方面,通過解析命名空間,從而得到該命名空間所對應的資料夾路徑,再而,載入資料夾裡面的類。

這樣也產生了一些**規範,如psr,只要你寫的類符合這些規範,就可以被別人以相同方式自動載入,例如composer

——予懷

XML 命名空間 概述

xml中為了對同名的元素進行限定,w3c提出了命名空間的規範。簡單的說命名空間就是給每個元素加上限定名,從而對同名元素進行區分。一 命名空間宣告的兩種方式 1 帶有字首的宣告 命名空間實際上是作為乙個元素屬性,被宣告的。其有效範圍包括當前元素,以及所有的子元素。xmlns 宣告命名空間的屬性名 pr...

c 命名空間的理解

c 程式中的若干上下文要求指定命名空間名稱或型別名稱。兩種形式的名稱都寫為以 標記分隔的乙個或多個識別符號。namespace name 命名空間名稱 namespace or type name 命名空間或型別名稱 type name 型別名 namespace or type name 命名空間...

php命名空間的理解

命名空間概述這是只是大概講一下用法,如果想詳細了解,還是閱讀官方手冊比較好。什麼是命名空間?從廣義上來說,命名空間是一種封裝事物的方法。在很多地方都可以見到這種抽象概念。例如,在作業系統中目錄用來將相關檔案分組,對於目錄中的檔案來說,它就扮演了命名空間的角色。具體舉個例子,檔案 foo.txt 可以...