命名空間是什麼呢?命名空間是一種封裝事物的方法。在很多地方都可以見到這種抽象概念。例如,在操作系統中目錄用來將相關文件分組,對於目錄中的文件來說,它就扮演了命名空間的角色 那麼讓我來學習一下吧:
首先讓我來建一個文件夾:test
寫一個a.php文件 :
<?php
class Aplay{
public function get_set(){
echo "this is a.php";
}
}
?>
在讓我們寫一個b.php
<?php
class Aplay{
public function get_set(){
echo "this is b.php";
}
}
?>
大家可以看到 這兩個文件夾 僅有一字之差 那我們在來建一個入口文件 index.php
<?php
require_once("a.php"); //引入文件a.php
require_once("b.php"); //引入文件b.php
?>
讓我們看一下結果 在瀏覽器中會出現一個錯誤 Fatal error: Cannot redeclare class Aplay inD:\study\php9\test\b.php on line
2
這個問題很正常
解決如下 在a.php和b.php文件下分別加入 namespace a\b\c; namespace d\b\c;
就不會報錯 因爲我們引入的路徑就不一樣了
讓我們在index.php 中實例化一下
//實例化
$a_ap= new a\b\c\Aplay();
$a_ap->get_set();
瀏覽器顯示結果 this is a.php
要實例化多個 用 use +路徑
要顯示一個全局的類 在實例化的時候加一個"\"
就可以出來了