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 相关文章推荐
使用Linux五年积累的一些经验技巧
Jun 20 PHP
解析linux下安装memcacheq(mcq)全过程笔记
Jun 27 PHP
PHP Session机制简介及用法
Aug 19 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
Aug 20 PHP
PHP实现模仿socket请求返回页面的方法
Nov 04 PHP
PHP面向对象之后期静态绑定功能介绍
May 18 PHP
php实现微信公众平台账号自定义菜单类
Oct 11 PHP
php批量删除超链接的实现方法
Oct 19 PHP
PHP实现基于文本的摩斯电码生成器
Jan 11 PHP
php生成txt文件实例代码介绍
Apr 28 PHP
php实现当前页面点击下载文件的实例代码
Nov 16 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
Apr 01 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脚本的10个技巧(7)
2006/10/09 PHP
PHP 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
PHP错误机制知识汇总
2016/03/24 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
javascript:;与javascript:void(0)使用介绍
2013/06/05 Javascript
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
2015/02/27 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
2016/08/02 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
vue观察模式浅析
2018/09/25 Javascript
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
python实现可将字符转换成大写的tcp服务器实例
2015/04/29 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
python解析基于xml格式的日志文件
2017/02/25 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
Python求平面内点到直线距离的实现
2020/01/19 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
详解利用css3的var()实现运行时改变scss的变量值
2021/03/02 HTML / CSS
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
瑜伽国际:Yoga International
2018/04/18 全球购物
故意伤害人身损害赔偿协议书
2014/11/19 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书
Python实现socket库网络通信套接字
2021/06/04 Python