PHP 命名空间

来源:互联网 发布:零基础学数据库 编辑:程序博客网 时间:2024/06/08 16:54

命名空间对于PHP来说就像是文件和目录的关系,它允许我们为两个不同的类使用相同的类名称。

比如我们希望有个名为Line的类,这个类可以在图像上画一条直线。然而,Line类的画线功能在处理像素格式图像和矢量格式图像时是不大一样的,因此理想的解决方案便是实用两个带有命名空间的类。

命名空间使用两个关键的语言结构:namespace 和 use。要声明一个命名空间,需要在文件的顶部指定命名空间的名称,之后在文件中声明的所有类酒都属于这个命名空间的了。

需要注意的是,namespace 代码行必须在文件的顶部,在其他任何变量、类或者函数定义之前。


声明命名空间如下所示:

<?phpnamespace Vector;class Line{     public function draw($x1, $y1, $x2, $y2){ ... }}

使用命名空间如下所示:

<?phprequire_once('Vector.php');$line = new Vector::Line();$line->draw(1,1,1,1);

此外,如果存在多个层次的命名空间,如 Graphics::Vector::Line 便是一个有效的命名空间。而随着命名空间越来越多,可能会有点繁琐,因此我们可以使用 use 来简略它。

用法如下:

<?phprequire('Vector.php');use Vector::Line as Line;$line = new Line();$line->draw(1,1,1,1);?>


0 0
原创粉丝点击