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 相关文章推荐
PHP4之真OO
Oct 09 PHP
使用无限生命期Session的方法
Oct 09 PHP
PHP 手机归属地查询 api
Feb 08 PHP
php变量范围介绍
Oct 15 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
Jun 26 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
Nov 07 PHP
在Debian系统下配置LNMP的教程
Jul 09 PHP
php连接oracle数据库的核心步骤
May 26 PHP
php封装的图片(缩略图)处理类完整实例
Oct 19 PHP
PHP PDOStatement::setFetchMode讲解
Feb 03 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
Oct 11 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
Apr 13 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
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
firefox浏览器下javascript 拖动层效果与原理分析代码
2007/12/04 Javascript
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
isArray()函数(JavaScript中对象类型判断的几种方法)
2009/11/26 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
2015/01/09 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
详解Vue 如何监听Array的变化
2019/06/06 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
2020/08/06 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
[02:41]《西雅图我们来了》2015国际邀请赛出征全记录
2015/07/23 DOTA
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
Python爬虫文件下载图文教程
2018/12/23 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
关于Tensorflow分布式并行策略
2020/02/03 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
波兰最大的度假胜地和城市公寓租赁运营商:Sun & Snow
2018/10/18 全球购物
硕士研究生自我鉴定范文
2013/12/27 职场文书
共产党员承诺书
2014/03/25 职场文书
推广普通话共筑中国梦演讲稿
2014/09/21 职场文书
在宿舍喝酒的检讨书
2014/09/28 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书
《中国机长》观后感:敬畏生命,敬畏职责
2019/11/12 职场文书
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python
oracle通过存储过程上传list保存功能
2021/05/12 Oracle
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏
Python识别花卉种类鉴定网络热门植物并自动整理分类
2022/04/08 Python
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android