溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

命名空間如何在PHP中使用

發(fā)布時間:2021-05-12 16:44:57 來源:億速云 閱讀:122 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了命名空間如何在PHP中使用,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

在文件夾中創(chuàng)建a.php

<?php
class Apple{
  function get_into(){
    echo "this is A";
  }
}

然后再創(chuàng)建一個b.php

<?php
class Apple{
  function get_into(){
    echo "this is B";
  }
}

再創(chuàng)建一個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,可以看到已經(jīng)沒有報錯了,因為這兩個Apple類在不同的命名空間中,不存在重寫問題了。

我們分別實例化a.php和b.php中的兩個類,分別調(diào)用其中的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中使用

刷新之后可以看到我們成功地調(diào)用了兩個類中的方法。那么問題又來了,如果我們需要多次實例化這個類,豈不是每次都要一長串的命名空間?這樣看起來代碼十分臃腫。我們可以對代碼再做修改。

<?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來使用命名空間,但是如果繼續(xù)使用use \d\e\f\Apple顯然和上面一行代碼產(chǎn)生了沖突,我們可以使用as對\d\e\f中的Apple設(shè)置一個別名,這個時候$b = new Bapple();就不會產(chǎn)生二義性了。

php的框架有哪些

php的框架:1、Laravel,Laravel是一款免費并且開源的PHP應(yīng)用框架。2、Phalcon,Phalcon是運行速度最快的一個PHP框架。3、Symfony,Symfony是一款為Web項目準備的PHP框架。4、Yii,Yii是一款快速、安全和專業(yè)的PHP框架。5、CodeIgniter,CodeIgniter是一款非常敏捷的開源PHP框架。6、CakePHP,CakePHP是一款老牌的PHP框架。7.Kohana,Kohana是一款敏捷但是功能強大的PHP框架。

上述內(nèi)容就是命名空間如何在PHP中使用,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI