PHP学习——30 PHP面向对象(命名空间)

版权声明:本文为博主原创文章,仅供学习交流,未经博主允许不得转载。 https://blog.csdn.net/zjy_android_blog/article/details/83476979
<?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 = '北京';
}
?>

猜你喜欢

转载自blog.csdn.net/zjy_android_blog/article/details/83476979