内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

PHP中定義命名空間空間

2022-06-20    分類: 網(wǎng)站建設(shè)

PHP的命名空間(namespace)是php5.3之后才有的。這個(gè)概念在C#中已經(jīng)很早就有了,php中的namespace其實(shí)和c#的概念是一樣的。

為什么php中要使用namespace?
假設(shè)如果不使用namespace,那么每個(gè)類在一個(gè)項(xiàng)目中的名字就必須是固定的。因?yàn)閜hp在new的時(shí)候不管是調(diào)用autoload還是調(diào)用已加載過(guò)的類,都存在一個(gè)類名對(duì)應(yīng)的文件。所以在沒(méi)有namespace的時(shí)候,我們會(huì)想各種命名規(guī)則來(lái)區(qū)分不同的類,比如project1_school1_class1_Student或者project2_school_class_Student。引入namespace之后就可以將這個(gè)有效規(guī)避了,一個(gè)namespace就相當(dāng)于對(duì)應(yīng)一個(gè)文件路徑,查找這個(gè)類的時(shí)候,就會(huì)去對(duì)應(yīng)的文件路徑查找類定義文件了。

PHP 命名空間和Java 挺像的,Java 的命名空間實(shí)際上來(lái)自于 JVM 本身的機(jī)制,JVM 是基于 class 字節(jié)碼文件加載類,由于類很容易出現(xiàn)重名的情況,換言之 class 字節(jié)碼文件也會(huì)出現(xiàn)重名情況,所以就需要使用目錄來(lái)管理不同的字節(jié)碼文件,而為了保證加載正常,所以就需要命名空間這種機(jī)制。當(dāng)然,也可以說(shuō)是由于命名空間的存在才有了目錄管理的方式。但是 PHP 和 Java 不一樣,PHP 是一種動(dòng)態(tài)腳本語(yǔ)言,它的代碼分散在所有腳本中,當(dāng)需要的時(shí)候才會(huì)使用 include 函數(shù)加載對(duì)應(yīng)的文件,所以 PHP 的命名空間,實(shí)際上是基于 PHP 的自動(dòng)加載類,自動(dòng)加載類實(shí)現(xiàn)了才能保證 PHP 命名空間存在的意義。

定義命名空間
PHP 命名空間功能只能在 PHP5.3.0 以上版本使用,對(duì)于一個(gè)命名空間,只有類、接口、函數(shù)和常量會(huì)被包含在命名空間中。
namespace MyProject;
const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */ }
?>
一般情況下,一個(gè)文件包含一個(gè)類,所以也不需要花括號(hào)來(lái)分割命名空間范圍。

名稱欄目:PHP中定義命名空間空間
文章鏈接:http://www.rwnh.cn/news/169651.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)搜索引擎優(yōu)化、靜態(tài)網(wǎng)站響應(yīng)式網(wǎng)站、云服務(wù)器品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
峨边| 华坪县| 大姚县| 扎囊县| 阳原县| 西盟| 阜南县| 湘潭县| 邵阳县| 屏东市| 尼木县| 岫岩| 岳西县| 肥西县| 习水县| 泾川县| 延寿县| 田林县| 台北县| 平遥县| 卓尼县| 赣榆县| 柳江县| 四平市| 合山市| 乌拉特后旗| 神木县| 容城县| 诸暨市| 锡林郭勒盟| 寿阳县| 北京市| 开江县| 玉龙| 奎屯市| 尤溪县| 武邑县| 濮阳市| 大足县| 古丈县| 温宿县|