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 相关文章推荐
打造计数器DIY三步曲(上)
Oct 09 PHP
phpmyadmin 访问被拒绝的真实原因
Jun 15 PHP
php 连接mssql数据库 初学php笔记
Mar 01 PHP
simplehtmldom Doc api帮助文档
Mar 26 PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
Jun 24 PHP
深入解析fsockopen与pfsockopen的区别
Jul 05 PHP
Ajax+PHP快速上手及简单应用说明
Jul 24 PHP
PHP调用VC编写的COM组件实例
Mar 29 PHP
深入解析PHP的Yii框架中的缓存功能
Mar 29 PHP
PHP微信PC二维码登陆的实现思路
Jul 13 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
Apr 10 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/10/26 PHP
php实现监听事件
2013/11/06 PHP
destoon二次开发常用数据库操作
2014/06/21 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
SharePoint 客户端对象模型 (一) ECMA Script
2011/05/22 Javascript
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
Javascript核心读书有感之语言核心
2015/02/01 Javascript
jQuery+easyui中的combobox实现下拉框特效
2015/02/27 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
微信小程序的日期选择器的实例详解
2017/09/29 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
微信小程序修改数组长度的问题的解决
2019/12/17 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
vue 验证两次输入的密码是否一致的方法示例
2020/09/29 Javascript
python格式化字符串实例总结
2014/09/28 Python
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
django与小程序实现登录验证功能的示例代码
2019/02/19 Python
Python函数装饰器原理与用法详解
2019/08/16 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
经理秘书找工作求职信
2013/12/19 职场文书
出纳担保书范文
2014/04/02 职场文书
保护黄河倡议书
2014/05/16 职场文书
医德医风自我评价
2014/09/19 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
听证会主持词
2015/07/03 职场文书
为什么MySQL 删除表数据 磁盘空间还一直被占用
2021/10/16 MySQL
MySQL优化之慢日志查询
2022/06/10 MySQL