名字解释:
namespace(命名空间),命名空间是从php5.3开始支持的功能。作用主要有两个:1.可以避免类名取得过长。2.当在多个框架配合使用时,同名的类之间不会冲突。
命名空间,看名字就知道,目的就是为了命名的,不然咋不叫QQ空间 盗梦空间 七度空间。额 好像有奇怪的掺进来了。
下面是示例代码:
Ke361是一个开源的淘宝客系统,基于最新的ThinkPHP3.2版本开发,提供更方便、更安全的WEB应用开发体验,采用了全新的架构设计和命名空间机制, 融合了模块化、驱动化和插件化的设计理念于一体,以帮助想做淘宝客而技术水平不高的朋友。突破了传统淘宝客程序对自动采集商品收费的模式,该程序的自动 采集模块对于所有人开放,代码不加密,方便大家修改。集成淘点金组件,自动转换淘宝链接为淘宝客推广链接。K
立即学习“PHP免费学习笔记(深入)”;
1 //在test1.php 中有一个类 叫做Person,它放在一个叫shop的namespace里。 2 php 3 namespace shop;//这个声明要放在php文件的最上面。就算是header也要让路。 4 5 header('content-type:text/html;charset=utf-8'); 6 7 class Person { 8 public $name = 'Leonard'; 9 } 10 ?> 11 //在同级目录的test2.php中也有一个叫Person的类,它放在一个叫admin的namespace中 12 php 13 14 namespace admin;//上面可以有空白行。别的都不行 15 16 include_once('./test.php'); 17 18 use shop as s;//这里就引用了这个shop命名空间。要使用test1.php中的类就必须写上这行。as的作用是简写命名空间的名字。 19 20 class Person { 21 public $name = 'Sheldon'; 22 } 23 24 $p1 = new s\Person();//上面用了as简写,s指代命名空间shop。没有用as的话就用 new shop\Person()来实例化对象。 25 echo $p1->name;//Leonard 26 27 $p2 = new Person();//不写命名空间时,就近在自己的命名空间里找Person类,找不到就报错咯。 28 echo $p2->name;//Sheldon










