您好,登錄后才能下訂單哦!
這篇文章主要介紹“PHP中命名空間的含義和用法是什么”,在日常操作中,相信很多人在PHP中命名空間的含義和用法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP中命名空間的含義和用法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
命名空間:
在一個文件中如果出現了Person類,能不能再定義一個Person類。
命名空間就是文件夾。
在不同的命名空間下面就可以有相同的類名
namespace:命名空間
use :使用
首先我們新建一個文件,我們在文件中已經定義了一個person類了,那我們是否還能在見一個person類?我們以代碼為例進行調試,代碼如下:
<?php class person { } class person { } ?>
結果如下:
我們根據結果顯示,代碼報錯,不能重復定義person類,這是顯而易見的錯誤,我們在同一個文件中是不允許有兩個相同的文件的,但是我們如果想有相同的類名,我們可以引用命名空間的概念。
下面我們開始使用命名空間,我們就剛剛書寫的代碼來說,我們將第一個person寫在一個命名空間下,我將第二個person寫在另外一個命名空間下,這個時候我們就可以同時定義兩個person類了,命名空間的寫法如下代碼所示:除此之外,我們需要給命名空間起個名字,因此我們剛剛寫的代碼都是在我們剛剛定義的命名空間里面,執行此代碼依舊會報錯,因此我們需要給第二個person類在定義一個命名空間,緊接著我們分別在第一個類和第二個類中定義一個方法(function),此時我們定義了兩個類,名字相同,但是不是在同一個命名空間下,具體代碼如下:
<?php namespace love; class Person { function pome() { echo '我明白你會來,所以我等<br />'; } } namespace like; class Person { function pome() { echo '不須耳鬢常廝伴,一笑低頭意已傾<br />'; } } ?>
結果如下:
結果顯示是正確的;沒有報錯;
我們要想輸出我們剛剛所寫的代碼內容,我們需要新建一個person對象,不然我們并不知道是輸出那個person類,代碼如下:
$ming = new Person(); $ming ->pome();
結果如下:
注意:我們在創建對象的時候是在那個命名的空間下;
如果我們想要輸出第一個的命名空間里面的內容,我們需要這樣寫:
$niu = new \love\Person(); $niu->pome();
結果如下:
1、第一個命名空間的命名:前面不能有任何的代碼
2、根空間、子空間
根空間
你的hello空間其實就是
\hello .
你的world空間其實就是
\world
你在world空間下
hello\Dog ===> world\hello\Dog
3、use使用,as使用
use \hello\test\Dog as SmallDog; use \world\Dog as BigDog;
到此,關于“PHP中命名空間的含義和用法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。