中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      PHP中命名空間的方法

      時間:2024-09-03 06:15:59 PHP 我要投稿
      • 相關推薦

      PHP中命名空間的方法

        【提要】本篇《PHP中命名空間的方法【1】》特別為需要方法編程學習的朋友收集整理的,僅供參考。內(nèi)容如下:

        PHP獨特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。下面是小編為大家搜索整理的PHP中命名空間的方法,希望能給大家?guī)韼椭?更多精彩內(nèi)容請及時關注我們考試網(wǎng)!

        概述

        PHP對于命名空間的支持,經(jīng)歷了一段艱難的旅程。幸運的是,PHP從5.3開始引入了命名空間。自從PHP引入了命名空間,PHP代碼的適用結(jié)構也得到了大大的改善。許多編程語言早就有了命名空間的概念,相對于其他語言來說,PHP對于命名空間的支持,稍微有點晚了。不管如何,每一種新特性的引入都有其目的,和其他語言一樣,PHP引入命名空間也主要是為了解決名字沖突的問題。

        命名空間(namespace)的概念

        代碼如下:

        當在字符串中使用命名空間名字的時候,一定不要忘了轉(zhuǎn)義

        可以將命名空間想象成一個抽屜,你可以在抽屜里放入鉛筆、尺子、A4紙等,這些都是你自己的私有物品。在你的抽屜下面是別人的抽屜,別人也可以在抽屜里放入相同的物品。為了不拿錯物品,你們決定在自己的抽屜上貼上標簽,這樣就可以清晰的看到某個物品是屬于誰的了。

        之前,開發(fā)者必須在類、函數(shù)和常量中添加下劃線,用來使自己的代碼獨立其他于代碼庫。這相當于所有人都給自己的物品貼上標簽之后,一起放入了一個更大的抽屜里。盡管這也是一種組織代碼的方式,但是這種方式是非常低效的。

        命名空間的到來就是為了解決這個問題。我們可以在不同的命名空間里聲明相同的函數(shù)、類和常量,而不會造成名字上的沖突。本質(zhì)上,命名空間無非是一種分等級標記PHP代碼的方式。

        正在使用命名空間

        有一點需要注意的是,我們正在間接的使用命名空間。從PHP 5.3開始,所有在非用戶定義的命名空間中的聲明(類、函數(shù)、常量),都默認的屬于全局命名空間。

        全局命名空間中包含了所有PHP內(nèi)部的定義,如echo()、mysqli_connect()和Exception類。由于全局命名空間并沒有獨立的標識名,所以它經(jīng)常被成為全局空間(global space)。

        定義命名空間

        命名空間的定義必須是PHP文件的第一條語句。唯一允許在定義命名空間之前使用的語句是declare語句。

        定義命名空間很簡單,只需要使用關鍵字namespace即可。命名空間的名字需要遵循PHP文件中其他標識符的命名規(guī)則。

        下面是定義一個命名空間的示例:

        代碼如下:

        namespace MyNamespace{}

        class Test{}

        如果想定義一個屬于全局空間的代碼塊,也是使用namespace關鍵字,但是后面不加命名空間的名字,如下:

        代碼如下:

        namespace {}

        class Test{}

        我們甚至可以在一個文件中定義多個命名空間,如下:

        代碼如下:

        namespace MyNamespace {}

        namespace MySecondNamespace {}

        namespace {}

        我們也可以將一個命名空間分散在不同的文件中,文件包含的處理程序會自動合并他們。因此,限制大量的命名空間在同一個文件中定義是一個很好的編程實踐,就像我們通常單獨為每個類定義一個單獨的文件一樣。

        復制代碼 代碼如下:

        有一點需要注意的是,包含命名空間代碼塊的{是可選的,可以用也可以不用。事實上,只要我們堅持在一個文件中只定義一個命名空間,那么我們就可以完全省略{,這樣也可以使我們的代碼看起來更加簡潔。

        子命名空間

        命名空間可以遵循一個特定的層級,就像我們電腦文件系統(tǒng)中得目錄一樣。子命名空間對于將一個項目結(jié)構化尤其特別有用。例如,你的項目需要訪問數(shù)據(jù)庫,你可能會想將所有數(shù)據(jù)庫相關的代碼(如數(shù)據(jù)庫異常處理等)放在同一個子目錄下。

        為了保持靈活性,將子命名空間放在子目錄中是非常明智的做法。這會使你的代碼結(jié)構更清晰,而且會使遵循PSR-0標準的autoloaders的使用變得更容易。

        PHP使用反斜線作為命名空間的分隔符,有趣的是,PHP甚至考慮過使用笑臉:)作為命名空間的分隔符。

        子命名空間定義示例:

        代碼如下:

        namespace MyProjectDatabase

        class Connection {}

        可以使用盡可能多的子命名空間:

        代碼如下:

        namespace MyProjectBlogAuthHandlerSocial;

        class Twitter {}

        有一點需要注意的是,PHP并不支持命名空間的嵌套定義,下面的代碼會導致一個致命錯誤:Namespace declarations cannot be nested。

        代碼如下:

        namespace MyProject {}

        namespace Database {}

        class Connection { }

        &nbsp

      【PHP中命名空間的方法】相關文章:

      插花作品的命名方法08-08

      PHP中date函數(shù)常用時間處理方法09-13

      php中static靜態(tài)變量的使用方法06-11

      葡萄酒的命名方法09-03

      PHP錯誤類型及屏蔽方法08-22

      如何解決Windows8中C盤重命名失敗的方法09-03

      PHP中curl的使用實例07-31

      PHP中關于類的定義10-02

      PHP處理密碼的幾種方法10-17

      十天學會php的方法09-23

      主站蜘蛛池模板: 韩国美女av一区二区三区四区| 欧美片欧美日韩国产综合片| 亚洲中文久久久久无码| 少妇极品熟妇人妻高清| 国产精品黑人一区二区三区| 人妻少妇精品系列一区二区 | 一区二区三区不卡免费av| 日本一区二区三区小视频| 欧洲国产成人精品91铁牛tv| 亚洲成a人片在线观看中| 国产叼嘿视频一区二区三区| 久久99精品国产一区二区三区| 亚洲AV永久无码精品表情包| 汾阳市| 武清区| 亚洲五月婷婷久久综合| 一本久久精品久久综合桃色| 亚洲欧美日韩精品高清| 鄂托克旗| 亚洲国产一区久久yourpan| 亚洲高清有码在线观看| 在线观看中文字幕一区二区三区| 灵石县| 成人永久福利在线观看不卡| 久久精品国产88久久综合| 亚洲综合精品在线观看中文字幕| 久色精品国产亚洲av麻豆一| 风韵丰满妇啪啪区老老熟女杏吧| 阳原县| 亚洲AV无码成人精品区日韩密殿| 人妻少妇精品无码系列| 国产AV无码无遮挡毛片| 久草热这里只有精品在线| 亚洲av激情综合在线| 中文字幕人妻一区二区三区四区 | 国产精品亚洲综合一区| AV熟妇导航网| 国产亚洲av手机在线观看| 久久久久久免费播放一级毛片| 92精品国产自产在线观看48页| 欧美综合自拍亚洲综合百度|