1. 程式人生 > >PHP-名稱空間-筆記

PHP-名稱空間-筆記

名稱空間

名稱空間可以理解為windows下的資料夾,在同一資料夾下的檔案時不能同名的,但是在不同的資料夾下時可以出現同名夫人檔案

錯誤程式碼:

<?php
	//同一名稱空間下出現相同命名的類,這是錯誤的
	class Cat
	{

	}

	class Cat
	{

	}
?>

使用名稱空間

關鍵字:namespace

注意:第一個名稱空間前面不能有任何程式碼

原始碼:

<?php
	namespace A;//建立了名稱空間A
	class Cat
	{
		function miao()
		{
			echo "喵~";
		}
	}

	namespace B;//建立了名稱空間B
	class Cat
	{
		function miao()
		{
			echo "嗷~";
		}
	}

	$p = new Cat();//在B的名稱空間下例項化的物件是B空間下的物件
	$p->miao();

	//要想例項化A空間的物件可以向下面寫
	$g = new \A\Cat();//注意第一個'/'是根空間,預設所有的名稱空間都在根空間下
	$g->miao();
	
	namespace B\C;//建立了一個子空間
?>

use和as的使用

請註釋:

/*

$p = new Cat();//在B的名稱空間下例項化的物件是B空間下的物件

$p->miao();

//要想例項化A空間的物件可以向下面寫

$g = new \A\Cat();//注意第一個'/'是根空間,預設所有的名稱空間都在根空間下

$g->miao();

namespace B\C;//建立了一個子空間

*/

原始碼:

<?php
	include '檔名';
	use \A\Cat;//使用A空間的Cat

	$p = new Cat();
	$p->miao();

	use \B\Cat as CatB;//使用A空間的Cat,這裡Cat重名,使用取別名的方法解決
	$g = new CatB();//例項化B空間的Cat
	$g->miao();

	//不使用use和as的寫法
	/*
	$g = new \B\Cat();
	$g->miao(); 
	*/

?>