PHP 命名空间(namespace)

PHP 命名空间(namespace)是在 PHP 5.3 中加入的,目的是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。

 

PHP 命名空间可以解决以下两类问题:

 

用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。

为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。

定义命名空间

默认情况下,所有常量、类和函数名都放在全局空间下,就和PHP支持命名空间之前一样。

 

命名空间通过关键字namespace 来声明。如果一个文件中包含命名空间,它必须在其它所有代码之前声明命名空间。

 

语法格式如下:

 

// 定义代码在 'MyProject' 命名空间中  

namespace MyProject;  

 

// ... 代码 ...  

你也可以在同一个文件中定义不同的命名空间代码,如:

 

namespace MyProject;

 

const CONNECT_OK = 1;

class Connection { /* ... */ }

function connect() { /* ... */ }

 

namespace AnotherProject;

 

const CONNECT_OK = 1;

class Connection { /* ... */ }

function connect() { /* ... */ }

?>  

不建议使用这种语法在单个文件中定义多个命名空间。建议使用下面的大括号形式的语法。

你可能感兴趣的:(php)