php命名空間 namespace
官方說法是:
在PHP中,命名空間用來解決在編寫類庫或應用程式時建立可重用的代碼如類或函數時碰到的兩類問題
1.使用者編寫的代碼與PHP內部的類/函數/常量或第三方類/函數/常量之間的名字衝突。
2.為很長的標識符名稱(通常是為了緩解第一類問題而定義的)建立一個別名(或簡短)的名稱,提高原始碼的可讀性。
其實命名空間就是為瞭解決引入不同的檔案存在了兩個相同的類的情況,其中 __NAMESPACE__ 可以擷取namespace的名稱。
例如,我有一個index檔案引入 test.php 和 test2.php.但是這兩個檔案中都含有 class take ,這樣我們在index.php檔案中
去執行個體化 new take就會報錯的,這時候我們就需要使用命名空間。
test.php
namespace takes;
class take {
function __construct() {
print "this is test file! name is : ". __NAMESPACE__;
}
}
test2.php
namespace my;
class take {
function __construct() {
print "this is a my files! not test,name is : ". __NAMESPACE__;
}
}
index.php
use takes as a; //這樣將test檔案中的take類的命名空間取別名 為a(純粹練慣用的);
require_once('test.php');
require_once('test2.php');
$obj = new a\take(); //test檔案中的take類
print "";
$obj2 = new my\take(); //test2檔案中的take類
輸出結果為
this is test file! name is : takes
————————————————————————————————————————————————
this is a my files! not test,name is : my
http://www.bkjia.com/PHPjc/762933.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/762933.htmlTechArticlephp命名空間 namespace 官方說法是: 在PHP中,命名空間用來解決在編寫類庫或應用程式時建立可重用的代碼如類或函數時碰到的兩類問題 1.用...