1. 程式人生 > >php筆記(15)名稱空間use的使用

php筆記(15)名稱空間use的使用

使用use關鍵字呼叫用名稱空間更快捷, 例子中myTest2名稱空間下使用use引用myTest1;呼叫類Demo時,設定別名代替呼叫

//名稱空間myTest1
namespace myTest1;
header('content-type:text/html;charset=utf-8');
const  NAME='小明';
function show(){
	return '我是'.NAME;
}
class Demo{
	private $name='小紅';
	public function __get($name){
		return $this->$name;
	}
	public function __set($name,$value){
		return $this->$name=$value;
	}
}

//名稱空間myTest2
namespace myTest2;

//使用use 關鍵字引用myTest1,
use myTest1;
//use引用myTest1的Demo類,用as設定別名呼叫
use myTest1\Demo as m1Demo;

const  NAME='大明';
function show(){
	return '我是'.NAME;
}
class Demo{
	private $name='大紅';
	public function __get($name){
		return $this->$name;
	}
	public function __set($name,$value){
		return $this->$name=$value;
	}
}


//使用use後,myTest1前可以去掉反斜線
echo myTest1\NAME;//小明
echo myTest1\show();//我是小明

//例項化類的時候可以用as設定的別名
$demo=new m1Demo();
echo $demo->name;//小紅
echo $demo->name='small red';//small red 

名稱空間層級呼叫,myTest2設定為myTest1空間下的層級

//名稱空間myTest1
namespace myTest1;

//use 引用myTest2的Demo1,先寫上myTest1,層級防止寫錯
use myTest1\myTest2\Demo1;

const  NAME='小明';
function show(){
	return '我是'.NAME;
}
class Demo{
	private $name='小紅';
	public function __get($name){
		return $this->$name;
	}
	public function __set($name,$value){
		return $this->$name=$value;
	}
}

echo Demo1::CITY;//鄭州


//名稱空間myTest1下的myTest2
namespace myTest1\myTest2;

class Demo1{
	const CITY='鄭州';
}