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

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

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

定义命名空间

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()这种方式就可以调用相关类,是不是不楼痕迹,但是我们要注意这种时候要避免类名的重复,否则会报错。