亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP基礎(chǔ)之命名空間1——命名空間概述及定義

瀏覽:94日期:2022-09-15 08:20:53
命名空間概述

什么是命名空間?從廣義上來(lái)說(shuō),命名空間是一種封裝事物的方法。在很多地方都可以見(jiàn)到這種抽象概念。例如,在操作系統(tǒng)中目錄用來(lái)將相關(guān)文件分組,對(duì)于目錄中的文件來(lái)說(shuō),它就扮演了命名空間的角色。具體舉個(gè)例子,文件?foo.txt?可以同時(shí)在目錄/home/greg?和?/home/other?中存在,但在同一個(gè)目錄中不能存在兩個(gè)?foo.txt?文件。另外,在目錄?/home/greg?外訪問(wèn)?foo.txt?文件時(shí),我們必須將目錄名以及目錄分隔符放在文件名之前得到?/home/greg/foo.txt。這個(gè)原理應(yīng)用到程序設(shè)計(jì)領(lǐng)域就是命名空間的概念。

在PHP中,命名空間用來(lái)解決在編寫類庫(kù)或應(yīng)用程序時(shí)創(chuàng)建可重用的代碼如類或函數(shù)時(shí)碰到的兩類問(wèn)題:

用戶編寫的代碼與PHP內(nèi)部的類/函數(shù)/常量或第三方類/函數(shù)/常量之間的名字沖突。為很長(zhǎng)的標(biāo)識(shí)符名稱(通常是為了緩解第一類問(wèn)題而定義的)創(chuàng)建一個(gè)別名(或簡(jiǎn)短)的名稱,提高源代碼的可讀性。

PHP 命名空間提供了一種將相關(guān)的類、函數(shù)和常量組合到一起的途徑。下面是一個(gè)說(shuō)明 PHP 命名空間語(yǔ)法的示例:

Example #1 命名空間語(yǔ)法示例

<?php namespace myname; class MyClass {} function myfunction() {} const MYCONST = 1; $a = new MyClass; $c = new mynameMyClass; $a = strlen(’hi’); $d = namespaceMYCONST; $d = __NAMESPACE__ . ’MYCONST’; echo constant($d); ?>

PHP 在 5.3.0 以后的版本開(kāi)始支持命名空間。

定義命名空間

雖然任意合法的PHP代碼都可以包含在命名空間中,但只有三種類型的代碼受命名空間的影響,它們是:類,函數(shù)和常量。

命名空間通過(guò)關(guān)鍵字namespace?來(lái)聲明。如果一個(gè)文件中包含命名空間,它必須在其它所有代碼之前聲明命名空間。

Example #1 聲明單個(gè)命名空間

<?php namespace MyProject; const CONNECT_OK = 1; class Connection { /* ... */ } function connect() { /* ... */ }?>

在聲明命名空間之前唯一合法的代碼是用于定義源文件編碼方式的?declare?語(yǔ)句。另外,所有非 PHP 代碼包括空白符都不能出現(xiàn)在命名空間的聲明之前:

Example #2 聲明單個(gè)命名空間

<html><?php namespace MyProject; // 致命錯(cuò)誤 - 命名空間必須是程序腳本的第一條語(yǔ)句?>

另外,與PHP其它的語(yǔ)言特征不同,同一個(gè)命名空間可以定義在多個(gè)文件中,即允許將同一個(gè)命名空間的內(nèi)容分割存放在不同的文件中。

定義子命名空間

與目錄和文件的關(guān)系很象,PHP 命名空間也允許指定層次化的命名空間的名稱。因此,命名空間的名字可以使用分層次的方式定義:

Example #1 聲明分層次的單個(gè)命名空間

<?php namespace MyProjectSubLevel; const CONNECT_OK = 1; class Connection { /* ... */ } function connect() { /* ... */ }?>

上面的例子創(chuàng)建了常量MyProjectSubLevelCONNECT_OK,類?MyProjectSubLevelConnection和函數(shù)?MyProjectSubLevelConnection。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 亚洲天堂视频网站 | 男女视频在线观看免费 | 免费观看a级网站 | 欧美在线观看一区二区三区 | a级国产乱理伦片在线观看 a级国产乱理伦片在线观看99 | 国产理论最新国产精品视频 | 亚洲精品久久久中文字 | 一本一道久久综合狠狠老 | 国产在线观看午夜不卡 | 激情丝袜美女视频二区 | 大狠狠大臿蕉香蕉大视频 | 日韩精品a| 模特精品一区二区三区 | 国产精品视频九九九 | 欧美成人福利 | 九九九热视频 | baby在线观看免费观看 | 成人在线观看午夜 | 亚洲成a人不卡在线观看 | 131美女爱做免费毛片 | 八戒午夜精品视频在线观看 | 成人国产第一区在线观看 | 中国a级毛片免费 | 国产黄网站 | 尤物蜜芽福利国产污在线观看 | 久久成人国产 | 欧美与黑人午夜性猛交久久久 | 国内美女福利视频在线观看网站 | 男人操女人逼逼视频 | 色日韩在线| 国内精自线一二区 | 欧美一区欧美二区 | 亚洲成人黄色片 | 久草在线免费色站 | 国产私拍福利精品视频推出 | 亚洲日本一区二区三区 | 狠狠色狠狠色综合日日32 | 欧美一级毛片兔费播放 | 欧美激情久久久久久久久 | 在线亚洲精品视频 | 玖草资源在线 |