什么是命名空间?从广义上来讲,命名空间是一种封装事物的方法。 PHP 命名空间(namespace)是在PHP 5.3中加入的,若是你学过C#和Java,那命名空间就不算什么新事物。 不过在PHP当中仍是有着至关重要的意义。 PHP 命名空间能够解决如下两类问题: 用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。 为很长的标识符名称(一般是为了缓解第一类问题而定义的)建立一个别名(或简短)的名称,提升源代码的可读性。 定义命名空间: 默认状况下,全部常量、类和函数名都放在全局空间下,就和PHP支持命名空间以前同样。 命名空间经过关键字namespace 来声明。若是一个文件中包含命名空间,它必须在其它全部代码以前声明命名空间 < ?php // 定义代码在 'MyProject' 命名空间中 namespace MyProject; 命名空间必须是程序脚本的第一条,在声明命名空间以前惟一合法的代码是用于定义源文件编码方式的 declare 语句 子命名空间: 与目录和文件的关系很象,PHP 命名空间也容许指定层次化的命名空间的名称。所以,命名空间的名字可使用分层次的方式定义: <?php namespace MyProject\Sub\Level; //声明分层次的单个命名空间 const CONNECT_OK = 1; class Connection { /* ... */ } function Connect() { /* ... */ }