码迷,mamicode.com
首页 > 其他好文 > 详细

命名空间

时间:2016-06-22 21:44:57      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

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

要创建某个命名空间下的类的对象,必须写出完整的路径;定义对象: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 \lovo\AAA();
echo $aaa;

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

echo ‘<br><br>‘;
$ddd = new chengdu\AAA();
echo $ddd;

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

命名空间

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!