站長資訊網
        最全最豐富的資訊網站

        php命名空間之如何定義空間?

        本篇文章將開始介紹命名空間。命名空間是一種封裝事物的方法,在很多地方都可以見到這種抽象概念。今天我們就來介紹介紹,有需要的可以參考一下。

        首先,我們了解一下什么是命名空間。(有需要的可以參考PHP 命名空間)

        在PHP中,名稱空間可以解決編寫類庫或應用程序(如類或函數),創建可重用代碼時,所遇到的問題:

        • 用戶編寫的代碼名稱與PHP中的類/函數/常量或第三方類/函數/常量的名稱發生沖突。

        • 為用戶編寫的很長的標識符名稱創建一個別名(或簡短),提高源代碼的可讀性。

        PHP的命名空間提供了一種將相關的類、函數和常量組合到一起的途徑。

        現在就讓我們正式進入今天的介紹,如何去定義一個命名空間。

        首先我們來看一個小栗子。

        <?php declare(encoding='UTF-8'); //定義多個命名空間和不包含在命名空間中的代碼 namespace MyProject {  const CONNECT_OK = 1; class Connection { /* ... */ } function connect() { /* ... */  } }  namespace { // 全局代碼 session_start(); $a = MyProjectconnect(); echo MyProjectConnection::start(); } ?>

        我們觀察一下,發現在這兩段代碼中,都有一個共同的特點,就是有關鍵詞“namespace”,但是關鍵詞后面卻并不一樣,這是什么原因呢?等我們學習了命名空間知識之后,就會知道啦。

        默認情況下,所有常量、類和函數名都放在全局空間中,就像PHP支持的名稱空間之前一樣。

        命名空間通過關鍵字namespace來聲明。如果一個文件中包含命名空間,它必須在其它所有代碼之前聲明命名空間。語法格式如下;

        <?php   // 定義代碼在 'MyProject' 命名空間中   namespace MyProject;     // ... 代碼 ...

        并且,我們可以在同一個文件中定義不同的命名空間代碼。但是,將全局非命名空間中的代碼與命名空間中的代碼組合時,只能使用大括號中的語法。全局代碼必須用未命名的namespace語句括在大括號中。

        同時,聲明名稱空間之前唯一有效的代碼是定義源文件編碼的declare語句。所有非PHP代碼(包括空格)都不能出現在名稱空間聲明之前。

        命名空間的命名就說到這里了,有其他想知道的,可以點擊這個哦。→ →php視頻教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 中文字幕日韩精品无码内射| 99国产欧美精品久久久蜜芽| 久久精品国产亚洲av水果派| 精品国内自产拍在线观看 | 无码人妻精品一区二区三区久久| 亚洲国产精品国自产电影| 国产麻豆精品一区二区三区v视界| 无码国产亚洲日韩国精品视频一区二区三区 | 四虎国产精品永久地址49| 午夜精品久久久久9999高清| 国产精品成人h片在线| 国内精品久久久久影院免费| 奇米影视7777久久精品| 亚洲第一永久AV网站久久精品男人的天堂AV| 丁香色婷婷国产精品视频| 久久精品国产秦先生| 国产夫妇精品自在线| 国产精品99久久99久久久| 欧美性videos高清精品| 在线精品亚洲一区二区三区| 人妻少妇精品系列| 精品久久综合1区2区3区激情| 91嫩草亚洲精品| 亚洲精品综合一二三区在线| 久久久精品一区二区三区| 久久精品国产久精国产| 精品亚洲综合久久中文字幕| 精品久久777| 四虎在线精品视频一二区| 四虎成人精品免费影院| 成人精品一区二区久久久| 国产精品美女久久久免费| 成人免费精品网站在线观看影片| 国产精品第一区第27页| 国产精品v欧美精品v日韩| 国产女人18毛片水真多18精品 | 亚洲国产精品国自产拍AV| 中日精品无码一本二本三本| 亚洲国产精品福利片在线观看| 亚洲精品高清无码视频| 久久精品国产99久久久 |