PHP中的命名空間是解決因具有相同的類別或方法而導致程式碼衝突的方法。透過使用namespace指令將PHP代碼放入命名空間中。這樣要呼叫類別時,自然要先呼叫命名空間
當我們寫PHP程式時,會發現因為具有一個相同名稱的類別或方法,而使程式將失敗。但透過PHP中的命名空間可以幫助我們解決程式碼衝突問題,接下來在文章中將會和大家具體介紹如何使用命名空間代碼
##【推薦課程:PHP教學】
#以下範例中有兩個文件,一個Demo.php,一個index.php,兩個檔案處於同級目錄下;Demo.php檔案中書寫命名空間以及Demo類,index.php呼叫Demo.php中的Demo類別;如下範例中的「輸出結果」即表示瀏覽器存取index.php。Demo.php檔案程式碼
<?php namespace DemoNameSpace; class Demo { private $mysqlHandle; public function __construct() { echo 'This is namespace of PHP demo ,The Demo magic constant "__NAMESPACE__" is '.__NAMESPACE__; } } ?>
#index.php檔案程式碼
<?php include 'Demo.php'; use DemoNameSpace\Demo; $DemoObj = new Demo(); ?>
輸出結果:
“This is namespace of PHP demo ,The Demo magic constant "__NAMESPACE__" is DemoNameSpace”
Demo.php不做變動,改動index.php檔
<?php include 'Demo.php'; $Demo = new Demo(); ?>
輸出結果:
“Fatal error: Class 'Demo' not found in F:\JJserver\demo\index.php on line 4”
總結:
比較使用namespace與不使用namespace的兩種輸出情況,並加入namespace的定義理解後,上述致命錯誤的情況就很好理解了。在Demo.php中定義了一個namespace,也就是命名空間後,接著定義了Demo類,然後這個Demo類別就被歸併到了DemoNameSpace命名空間中去了,那麼要呼叫這個Demo類時,自然要先呼叫這個DemoNameSpace命名空間了,也就是在index.php檔案中使用「useDemoNameSpace\Demo」語句了【相關推薦:PHP中的命名空間是什麼】
#
以上是如何使用PHP中的命名空間的詳細內容。更多資訊請關注PHP中文網其他相關文章!