您好,登錄后才能下訂單哦!
本篇文章為大家展示了命名空間如何在PHP中使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
在文件夾中創建a.php
<?php class Apple{ function get_into(){ echo "this is A"; } }
然后再創建一個b.php
<?php class Apple{ function get_into(){ echo "this is B"; } }
再創建一個index.php,并且想要在index.php中同時使用a.php和b.php中的Apple類,所以我們用require_once進行引用
<?php require_once "a.php"; require_once "b.php";
此時我們在瀏覽器中運行index.php,就會看到一行錯誤信息。Cannot redeclare class Apple,意思是我們不能重寫Apple類。
而如果我們確實需要同時用到時,這時候就可以運用到命名空間解決這個問題。將a.php和b.php稍微更改:
a.php
<?php namespace a\b\c; class Apple{ function get_into(){ echo "this is A"; } }
b.php
<?php namespace d\e\f; class Apple{ function get_into(){ echo "this is A"; } }
這時我們重新刷新index.php,可以看到已經沒有報錯了,因為這兩個Apple類在不同的命名空間中,不存在重寫問題了。
我們分別實例化a.php和b.php中的兩個類,分別調用其中的get_info方法。
<?php require_once "a.php"; require_once "b.php"; $a = new \a\b\c\Apple(); $a->get_into(); $b = new \d\e\f\Apple(); $b->get_into();
刷新之后可以看到我們成功地調用了兩個類中的方法。那么問題又來了,如果我們需要多次實例化這個類,豈不是每次都要一長串的命名空間?這樣看起來代碼十分臃腫。我們可以對代碼再做修改。
<?php require_once "a.php"; require_once "b.php"; use \a\b\c\Apple; use d\e\f\Apple as Bapple; $a = new Apple(); $a->get_into(); $b = new Bapple(); $b->get_into();
在代碼中我們使用了use來使用命名空間,但是如果繼續使用use \d\e\f\Apple
顯然和上面一行代碼產生了沖突,我們可以使用as
對\d\e\f中的Apple設置一個別名,這個時候$b = new Bapple();
就不會產生二義性了。
php的框架:1、Laravel,Laravel是一款免費并且開源的PHP應用框架。2、Phalcon,Phalcon是運行速度最快的一個PHP框架。3、Symfony,Symfony是一款為Web項目準備的PHP框架。4、Yii,Yii是一款快速、安全和專業的PHP框架。5、CodeIgniter,CodeIgniter是一款非常敏捷的開源PHP框架。6、CakePHP,CakePHP是一款老牌的PHP框架。7.Kohana,Kohana是一款敏捷但是功能強大的PHP框架。
上述內容就是命名空間如何在PHP中使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。