PHP 命名空間(namespace)是在PHP 5.3版本中加入的。
PHP 命名空間是用來解決以下兩類問題的:
- 用戶編寫的代碼與PHP內部的類/函數/常量或第三方類/函數/常量之間的名字沖突。
- 為很長的標識符名稱創建一個別名的名稱,提高源代碼的可讀性
首先我們先建立三個文件
第一個文件 A.php,里邊有兩個類,命名空間namesapce是 a\b\c(注意:這里是反斜杠);
<?php namespace a\b\c; class Apply{ function get_info(){ echo 'this is A Apply'; } } class C{ function info(){ echo 'this is info'; } } ?>
第二個文件 B.php 命名空間namespace a\b\d;
<?php namespace a\b\d; class Apply{ function get_info(){ echo 'this is B Apply'; } } ?>
第三個文件 index.php 里需要使用到上邊兩個文件的類。
那么現在問題來了:比方說我們現在想實例化A.php里的類,該怎么實現呢?A文件的 Apply類和B.php的Apply類重名了,直接引入使用是會報錯的!
這個時候命名空間就要出場了
首先要包含這個文件 require_once('A.php');
use的用法要這樣,命名空間 \ 這個空間下你要實例化類的類名。比方說我們要實例化上面的 A.php文件里的Apply類,使用 use a\b\c\Apply; 就相當於引入這個類,接下來再 new Apply();調用里邊的方法,跟平常是一樣的。如果要實例化類C,就 use a\b\c\C;。
記得點贊收藏關注我♪(^∀^●)ノ,讓小哥哥帶你闖盪互聯網開發的世界♥♥♥♥♥
