PHP命名空间namespace的定义方法详解


Posted in PHP onMarch 29, 2017

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

定义命名空间

对于空间的命名,在此我想不用文字解释,更好的解释是用实例来证明:

For example:

下面这段代码是”test.php”里面的文件:

namespace Test;
class Test{
    public function Ttest(){
     echo "这是Test里面的测试方法"."<br>";
    }
}

接下来我将用三种不同的方式进行访问,我把这三个访问程序写在一个名叫“index.php”的文件中:

方法一:

namespace Index;
require 'test.php';
$T=new \Test\Test();
$T->Ttest();

所得结果为:

这是Test里面的测试方法

方法二:

namespace Index;
namespace Test;
require 'test.php';
$T=new Test();
$T->Ttest();

所得结果为:

这是Test里面的测试方法

方法三:

namespace Index;
require 'test.php';
use Test\Test;
$T=new Test();
$T->Ttest();

所得结果为:

这是Test里面的测试方法

注: namespace Index可写可不写,这只是index.php文件的空间命名。这三种方法所得结果都是一样的。

定义子命名空间

定义:

与目录和文件的关系很象,PHP 命名空间也允许指定层次化的命名空间的名称。因此,命名空间的名字可以使用分层次的方式定义。

实例如下图,这是我自定义的项目目录:

PHP命名空间namespace的定义方法详解

one.php

namespace projectOne\one;
class Test{
    public function test(){
     return "this is a test program";
    }
}

为了访问one.php中Test类下的test()方法,我在Two中的代码如下:

Two.php

namespace projectOne\one;
require '../projectOne/One.php';
$O=new Test();
echo $O->test();

Output: this is a test program

同一文件中定义多个命名空间,它们之间相互访问

test.php

namespace projectOne\one{
    class test{
      public function hello(){
        return "helloworld";
      }
    }
}
namespace projectOne\Two{
    class project{
      public function world2(){
        return "welcome to china";
      }
    }
    class project2 extends \projectOne\one\test{
      public function wo(){
        return "this is my test function ,it is name wo";
      }
    }
}
namespace projectOne\Two{
    $p=new project2();
    echo $p->wo()."<br>";
    echo $p->hello();
}

output: this is my test function ,it is name wo
helloworld

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
详解:――如何将图片储存在数据库里
Dec 05 PHP
PHP下用rmdir实现删除目录的三种方法小结
Apr 20 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
May 31 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
Jan 09 PHP
php 检查电子邮件函数(自写)
Jan 16 PHP
分享一则PHP定义函数代码
Feb 26 PHP
PHP图像处理类库MagickWand用法实例分析
May 21 PHP
ThinkPHP中where()使用方法详解
Apr 19 PHP
php下载文件超时时间的设置方法
Oct 06 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
Sep 05 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
Sep 23 PHP
thinkphp5.1 框架钩子和行为用法实例分析
May 25 PHP
php mysql_list_dbs()函数用法示例
Mar 29 #PHP
php json相关函数用法示例
Mar 28 #PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
Mar 28 #PHP
php事务回滚简单实现方法示例
Mar 28 #PHP
php中bind_param()函数用法分析
Mar 28 #PHP
php实现基于PDO的预处理示例
Mar 28 #PHP
php中str_pad()函数用法分析
Mar 28 #PHP
You might like
php magic_quotes_gpc的一点认识与分析
2008/08/18 PHP
DWZ+ThinkPHP开发时遇到的问题分析
2016/12/12 PHP
PHP调用Mailgun发送邮件的方法
2017/05/04 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
jQuery中filter(),not(),split()使用方法
2010/07/06 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
jQuery中noconflict函数的实现原理分解
2015/02/03 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
JQuery为元素添加样式的实现方法
2016/07/20 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
jQuery tip提示插件(实例分享)
2017/04/28 jQuery
JS中min函数实例讲解
2019/02/18 Javascript
vue 开发企业微信整合案例分析
2019/12/02 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
nodejs+express最简易的连接数据库的方法
2020/12/23 NodeJs
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
python实现用户名密码校验
2020/03/18 Python
Django rest framework分页接口实现原理解析
2020/08/21 Python
如何从csv文件构建Tensorflow的数据集
2020/09/21 Python
python3访问字典里的值实例方法
2020/11/18 Python
美国领先的低折扣旅行网站:Hotwire
2019/01/19 全球购物
澳大利亚当地社区首选的光学商店:1001 Optical
2019/08/24 全球购物
仓库理货员岗位职责
2013/12/18 职场文书
心理健康心得体会
2014/01/02 职场文书
高中数学教学反思
2014/01/30 职场文书
家长会主持词
2014/03/26 职场文书
我爱读书演讲稿
2014/05/07 职场文书
药店采购员岗位职责
2014/09/30 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript