最新消息:yaf表单扩展中新增加了浮点数、日期和集合的校验。php yaf框架扩展实践三——表单

php命名空间namespace使用笔记

PHP 2412浏览 0评论

php在5.3+的版本加入了命名空间的元素,类似java里的包,使用命名空间,可以很好的避免方法名、类名出现重复。

定义一个命名空间

namespace test;

这样在这个命名空间定义的方法、类,都隶属这个命名空间,甚至在命名空间内定义的方法、类可以和php内置的方法、类同名。

命名空间定义方法

namespace test;

function getName(){
    echo 'tom';
}

getName();  //同一个命名空间可以直接调用
\test\getName();  //其他命名空间要这样调用

我用的是netbeans,所以打一个\,就弹出提示框,这边test就是刚才定义的命名空间了。如下图

netbeans命名空间代码提示

netbeans命名空间代码提示

定义一个方法和php内置的方法同名

strlen是php内置的方法,但是在test命名空间内,也可以定义。如果在命名空间内要调用php内置的方法,使用\符号就可以了,看下面代码:

namespace test;
function strlen($str){ }

strlen('tom');  //这里调用的是test命名空间的方法
\test\strlen('tom');  //同上
\strlen('tom');  //这里调用的是php内置的方法

多重命名空间

命名空间也支持多重命名空间,例如:

namespace test\test2;

function getName() {
    echo 'anny';
}

\test\test2\getName(); //输出anny

使用命名空感觉确实方便了不少,只要确定了命名空间,就不用担心和其他人协同开发项目时定义的方法,类名出现重复。zend framework 2也广泛使用命名空间了。

转载请注明:快乐编程 » php命名空间namespace使用笔记

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址