PHP命名空间定义与用法实例分析
程序员文章站
2022-05-14 16:49:46
本文实例讲述了php命名空间定义与用法。分享给大家供大家参考,具体如下:
php的命名空间的样式跟linux的路径很相似。
我们使用文件的路径作为命名空间。
定义...
本文实例讲述了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()
这种方式就可以调用相关类,是不是不楼痕迹,但是我们要注意这种时候要避免类名的重复,否则会报错。