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 相关文章推荐
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 PHP
利用php实现禁用IE和火狐的缓存问题
Dec 03 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 PHP
typecho插件编写教程(二):写一个新插件
May 28 PHP
帝国CMS留言板回复后发送EMAIL通知客户
Jul 06 PHP
Thinkphp和onethink实现微信支付插件
Apr 13 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
May 13 PHP
PHP操作mysql数据库分表的方法
Jun 09 PHP
yii框架无限极分类的实现方法
Apr 08 PHP
PHP中快速生成随机密码的几种方式
Apr 17 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 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 类相关函数的使用详解
2013/05/10 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
xmlHTTP实例
2006/10/24 Javascript
javascript preload&amp;lazy load
2010/05/13 Javascript
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
Dom在ajax技术中的作用说明
2010/10/25 Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
2011/05/23 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
jquery实现点击变换导航样式的方法
2015/08/31 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
JavaScript Canvas绘制圆形时钟效果
2020/08/20 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
2017/05/09 Javascript
nodeJS微信分享
2017/12/20 NodeJs
vue mint-ui tabbar变组件使用
2018/05/04 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
2020/06/04 Javascript
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
js实现简易ATM功能
2020/10/27 Javascript
Python执行时间的计算方法小结
2017/03/17 Python
pycharm配置git(图文教程)
2019/08/16 Python
Python算法中的时间复杂度问题
2019/11/19 Python
python 实现任务管理清单案例
2020/04/25 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
酒店总经理助理岗位职责
2014/02/01 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
工地安全质量标语
2014/06/07 职场文书
MySQL时区造成时差问题
2022/04/13 MySQL