首頁  >  文章  >  後端開發  >  如何在PHP中使用命名空間

如何在PHP中使用命名空間

藏色散人
藏色散人原創
2019-01-23 14:56:555927瀏覽

命名空間是一種封裝事物的方法。在很多地方都可以看到這種抽象概念。例如,在作業系統中目錄用來將相關檔案分組,而對於目錄中的檔案來說,它就扮演了命名空間的角色。

如何在PHP中使用命名空間

讓我給你一個類別的簡單範例:

<?php 

namespace Dojo;

class Ninja
{

}

在上面的範例中,我們在Dojo命名空間中建立了一個名為Ninja的新類別。如果我們沒有使用命名空間,並且我們的應用程式中包含了另一個名為Ninja的類,那麼我們將得到一個錯誤,說明我們不能重新聲明類別。

那麼命名空間就可以解決這個問題。我們可以建立另一個類,像這樣:

<?php 

namespace Training;

class Ninja
{

}

現在,如果我們將這兩個檔案都包含在應用程式中,就可以很容易地區分我們想要使用哪個Ninja類別。

作為一個例子,這裡有一些程式碼,說明我們將如何使用Ninja類別:

 <?php

// require both of our ninja classes
require "Dojo/Ninja.php";
require "Training/Ninja.php";

// create a new Ninja in the Dojo namespace
$ninja1 = new Dojo\Ninja();

// create a new Ninja in the Training namespace
$ninja2 = new Training\Ninja();

這兩個類別是不同的,可能具有不同的功能,因此命名空間允許我們使用相同的類別名,並透過它們的名稱空間對它們進行區分。你也可以使用PHP use函數來讓程式碼更具可讀性。例如,假設我們只想使用Ninja而不是引入Dojo\Ninja。

我們可以這樣做:

<?php

// require both of our ninja classes
require "Dojo/Ninja.php";
require "Training/Ninja.php";

use Dojo\Ninja as Ninja;

$my_ninja = new Ninja();

當我們想要使用另一個Ninja檔案時,就可以簡單的以下操作:

use Training\Ninja as Ninja;

就是這樣!簡單吧!

我想指出的最後一點是,通常在使用命名空間時,你要遵循命名空間的資料夾結構,以便更容易找到這些檔案的位置。

所以我們的Training / Ninja.php檔案可能會存在於Training資料夾中。

如何在PHP中使用命名空間

因此,想要繼續在專案中加入易於記憶和常見的類別名稱。只要記得給他們一個命名空間!

以上是如何在PHP中使用命名空間的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn