1. 程式人生 > >PHP學習——30 PHP面向物件(名稱空間)

PHP學習——30 PHP面向物件(名稱空間)

<?php 
namespace spaceA;
const TITLE = '我在網上學習PHP';
function multi($n,$m)
{
	return $n*$m;
}
class Staff
{
	private $name = 'Tony';
	public function __construct($name)
	{
		$this->name = $name;
	}
	public function __get($name)
	{
		return $this->$name;
	}
	public function __set($name,$value)
	{
		$this->$name = $value;
	}
}
namespace spaceB;
const TITLE = '我在學校學習PHP';
function sum($n,$m)
{
	return $n+$m;
}
class Staff
{
	private $name = 'Peter';
	public function __get($name)
	{
		return $this->$name;
	}
	public function __set($name,$value)
	{
		$this->$name = $value;
	}
}
echo '標題是:'.TITLE;//非限定名稱的名稱空間
//標題是:我在學校學習PHP
echo '<hr>';
echo 'n + m = '.sum(4,6);//n + m = 10
echo '<hr>';
$staffB = new Staff;
echo $staffB->name;//Peter
echo '<hr>';
// 名稱空間魔術常量 __NAMESPACE__
echo '當前的名稱空間是:'.__NAMESPACE__;
echo '<hr>';
// 訪問空間 spaceA 的成員
echo 'spaceA標題是:'.(\spaceA\TITLE);//完全限定名稱的名稱空間
//spaceA標題是:我在網上學習PHP
echo '<hr>';
echo 'spaceA乘法:'.(\spaceA\multi(3,5));//spaceA乘法:15
echo '<hr>';
$staffA = new \spaceA\Staff('白鴿');
echo $staffA->name;//白鴿
echo '<hr>';

namespace spaceC;
// 引入名稱空間spaceA的Stuff類
// use spaceA; // 定位到空間
use spaceA\Staff as spaceAStaff; // 定位到空間的類
// 引入子空間的類
use spaceC\spaceD\Demo as Demo;
class Staff
{
	private $name = 'Peter';
	public function __get($name)
	{
		return $this->$name;
	}
	public function __set($name,$value)
	{
		$this->$name = $value;
	}
}
$staffC = new spaceAStaff('引入白鴿');
echo $staffC->name;//引入白鴿
echo '<hr>';
// 使用子空間的類常量
echo Demo::CITY;// 北京

namespace spaceC\spaceD;
class Demo
{
	const CITY = '北京';
}
?>