PHP5.3RC试用笔记1

PHP5.3中提供了命名空间的支持。和α版的时候不同,在RC版中命名空间分隔符不再使用::,改为使用\。这样可以比较方便的区分命名空间引用和类静态方法调用,不过感觉那个\超级难看。

命名空间有两种声明方法,其一是用花括号括起来,就像C#里面那样,另一种方法是直接分号分隔,作用到下一个namespace标记或文件末尾。命名空间的声明不能跨文件,如果多个文件编写了同一命名空间中的类,需要各自声明同名的命名空间。废话少说,先看代码:

<?php

namespace AA;

class A {

        public static $a = 100;

        public function show() {

                echo self::$a;

        }

}

?>

这段代码和以下代码是等效的:

<?php

namespace AA {

    class A {

        public static $a = 100;

        public function show() {

            echo self::$a;

        }

    }

}

?>

不论哪种方法,调用的时候都可以直接用use语句引入

<?php

include_once(‘A.php’);

use AA\A;

$a = new A;

$a->show();

?>

当然也可以直接使用命名空间的完整路径

<?php

include_once(‘A.php’);

use AA\A;

$a = new \AA\A;

$a->show();

?>

注意这段代码中命名空间AA前面增加了一个\,这样命名空间就使用绝对路径,如果当前文件中已经声明了某个命名空间,并且需要在其中调用其它空间中的内容,可以使用绝对命名空间路径。use语句也支持绝对路径。

也許你還會喜歡

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Time limit is exhausted. Please reload CAPTCHA.