命名空间

刚开始听到命名空间的时候,我感觉是一个好高大上的名字,但它就是一种封装事物的方法;在它之后是空间的名称;但我感觉命名空间其实就是用来区分你设置的类名的,

要创建某个命名空间下的类的对象,必须写出完整的路径;定义对象:1)直接定义对象:new; 2)定义对象用use关键字;

在同一个php文件中,可以先后使用多个不同名称的命名空间

<?php

namespace lovo;

header('content-type:text/html;charset=utf-8');
class AAA{
public function __toString(){
return '我是类AAA-1';
}
}
echo '<br><br>';
echo '当前的命名空间:'.__NAMESPACE__;

namespace chengdu;
class AAA{
public function __toString(){
return '我是类AAA-2';
}
}
echo '<br><br>';
echo '当前的命名空间:'.__NAMESPACE__;
echo '<br><br>';

 ?>

__NAMESPACE__要用在当前使用了namespace命名空间的页面。

下面的代码是在另一个页面引用。

 <?php

include_once("testclass21.php");

// 要创建某个命名空间下的类的对象,必须写出完整的路径
// 下面这个是示例直接定义某个命名空间下的类的对象
$aaa = new lovoAAA();
echo $aaa;

echo '<br><br>';
// 下面是定义对象的第二种方式,使用use关键字
// 定义到将该命名空间下的类引入到当前,那么可以像普通的类一样进行初始化定义
use lovoAAA as BBB;
$ccc = new BBB();
echo $ccc;

echo '<br><br>';
$ddd = new chengduAAA();
echo $ddd;

echo '<br><br>';
echo '当前的命名空间:'.__NAMESPACE__;//得不到结果
?>

原文地址:https://www.cnblogs.com/223y/p/5608427.html