程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php命名空間 namespace

php命名空間 namespace

編輯:關於PHP編程

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved