教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 PHP6 的namespace 命名空间

PHP6 的namespace 命名空间

发布时间:2016-10-27   编辑:jiaochengji.com
教程集为您提供PHP6 的namespace 命名空间等资源,欢迎您收藏本站,我们将为您提供最新的PHP6 的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。

您可能感兴趣的文章:
PHP6 的namespace 命名空间
PHP 核心特性之命名空间
命名空间
php命名空间实例解析
PHP的命名空间使用详解
PHP新特性命名空间的详解介绍
PHP——命名空间(namespace)使用详细介绍
php中命名空间学习基础知识记忆
亲密接触ASP.Net(6)
PHP命名空间的用途和namespace关键字

[关闭]
~ ~