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