php命名空间namespace使用笔记

来源:互联网 发布:淘宝与天猫是一家的吗 编辑:程序博客网 时间:2024/06/11 01:51

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

定义一个命名空间

1namespace test;

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

命名空间定义方法

1namespace test;
2 
3function getName(){
4    echo 'tom';
5}
6 
7getName();  //同一个命名空间可以直接调用
8\test\getName();  //其他命名空间要这样调用

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

netbeans命名空间代码提示

netbeans命名空间代码提示

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

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

1namespace test;
2function strlen($str){ }
3 
4strlen('tom');  //这里调用的是test命名空间的方法
5\test\strlen('tom');  //同上
6\strlen('tom');  //这里调用的是php内置的方法

多重命名空间

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

1namespace test\test2;
2 
3function getName() {
4    echo 'anny';
5}
6 
7\test\test2\getName(); //输出anny

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


0 0
原创粉丝点击