欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP命名空间定义与用法实例分析

程序员文章站 2023-02-22 16:55:07
本文实例讲述了php命名空间定义与用法。分享给大家供大家参考,具体如下: php的命名空间的样式跟linux的路径很相似。 我们使用文件的路径作为命名空间。 定义...

本文实例讲述了php命名空间定义与用法。分享给大家供大家参考,具体如下:

php的命名空间的样式跟linux的路径很相似。

PHP命名空间定义与用法实例分析

我们使用文件的路径作为命名空间。

定义命名空间

mvc\model\index.php代码

<?php
namespace mvc\model;
class index
{
  public static function test()
  {
    echo "test#model";
  }
}

使用命名空间

mvc\application\index.php代码

<?php
namespace mvc\application;
use \mvc\model;
require_once "../model/index.php";
class index
{
  public static function test()
  {
    echo "test#application";
  }
}
//index::test();  //输出test#application
model\index::test();//输出test#model

其中use \mvc\model;等价于use \mvc\model as model;

所以我们才可以用model\index::test();这种方式调用model下面的index类。

我们在声明使用命名空间的,声明的路径越具体,我们使用起来就越方便。

贴上几段代码,感受下~

1) use \mvc

use \mvc;
require_once "../model/index.php";
mvc\model\index::test();//输出test#model

2)use \mvc\model

use \mvc\model;
require_once "../model/index.php";
model\index::test();//输出test#model

3) use \mvc\model\index

use \mvc\model\index;
require_once "../model/index.php";
index::test();//输出test#model

通过上面代码的分析,我们可以看到。当使用命名空间时的声明具体到类时,我们使用index::test()这种方式就可以调用相关类,是不是不楼痕迹,但是我们要注意这种时候要避免类名的重复,否则会报错。