php是否需要namespace已经争论了很久。我是很希望php有namespace或类似的东西的。对于发布类库框架,或者构建大的程序来说是很重要的。可以避免类名和函数名冲突,又不用像Pear里那样把类名弄得老长。当初php5的测试版曾经出现过,后来正式发布时又取消了,让我空欢喜一场。7月初,php6的snap里又加入了namespace,希望这次不要再让我空欢喜了。
这次的namespace实现和当初的实现有所不同,更接近于C++的语法。
声明namespace时在文件里加上例如
namespace blogbus::test;
function foo(){
echo "foo";
}
class Test{
function bar(){
echo "bar";
}
}
该文件中的类和函数:foo,Test就属于blogbus::test的命名空间。在其他文件包含该文件后,可以用blogbus::test::foo()来调用函数,用blogbus::test::Test来使用类。如果只是这样的话那打字还是很麻烦的。所以可以使用
import blogbus::test::Test;
之后就可以直接用Test了。也可以
import blogbus;
之后可以用test::Test来使用。可惜目前的实现没有类似Java的import xxx.*; 或是python的from xxx import *;这样的语法。要导入许多东西的时候还是有些麻烦。
既然namespace是为了解决命名冲突的问题,那么使用import来节省打字,保护键盘的时候还是需要避免import进来的东西和原有的东西重名的问题。所以import还可以这样用:import blogbus::test::Test as Blogbus。这时,就可以用Blogbus这个名字来使用blogbus::test::Test。你可以$test = new Blogbus();然后echo get_class($test);看看结果,会发现输出的仍然是blogbus::test::Test。
·算法:筛法找质数之PHP版
·php变量文件流
·用PHP检测字符串是否是utf8编码
·用php实现一个堆
·使用php的memcached客户端
·用php写了一个错误处理类
·php打包工具Phar
·php中访问对象protected成员的一种方法
·用PHP&ORACLE遇到的问题
·算法:筛法找质数之PHP版
·php变量文件流
·用PHP检测字符串是否是utf8编码
·用php实现一个堆
·在我心中的Java和PHP
·使用php的memcached客户端
·用php写了一个错误处理类
·php下aop的一个实现办法
·php打包工具Phar
- · 3分钟快速了解 Delphi for PHP 特色 (中文), PDF档
- · 购买Delphi for PHP的五大理由, PDF档
- · Delphi for PHP 使用规格介绍, PDF档
- · Delphi for PHP 問答集 (From CodeGear)
- · Delphi for PHP 产品价格表
- PHP剑道:PHP的魅力和
- 评论:在Web开发领域
- 专家预言:PHP将比Jav
- 初学者入门:细述PHP4
- Zend 产品价格
- Zend 增值服务
- 用PHP实现的事件机制
- 算法:筛法找质数之PH
- php变量文件流
- php-fpm文档中文翻译
- php扩展开发学习笔记
- php扩展开发学习笔记




