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 相关文章推荐
PHP5中MVC结构学习
Oct 09 PHP
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
Dec 06 PHP
php session安全问题分析
Jun 24 PHP
php中防止SQL注入的最佳解决方法
Apr 25 PHP
php中数字0和空值的区别分析
Jun 05 PHP
PHP中使用虚代理实现延迟加载技术
Nov 05 PHP
PHP图片处理之图片旋转和图片翻转实例
Nov 19 PHP
PHP中使用array函数新建一个数组
Nov 19 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
Mar 05 PHP
Thinkphp 中 distinct 的用法解析
Dec 14 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
Mar 22 PHP
Laravel框架实现简单的学生信息管理平台案例
May 07 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
mysql5写入和读出乱码解决
2006/11/25 PHP
PHPMYADMIN 简明安装教程 推荐
2010/03/07 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
解析php利用正则表达式解决采集内容排版的问题
2013/06/20 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
2015/06/23 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
jquery 操作DOM的基本用法分享
2012/04/05 Javascript
js事件冒泡实例分享(已测试)
2013/04/23 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
jQuery中slideUp 和 slideDown 的点击事件
2015/02/26 Javascript
JavaScript动态改变表格单元格内容的方法
2015/03/30 Javascript
JavaScript下的时间格式处理函数Date.prototype.format
2016/01/27 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
2016/06/17 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
JS高阶函数原理与用法实例分析
2019/01/15 Javascript
详解JS实现系统登录页的登录和验证
2019/04/29 Javascript
微信小程序 高德地图路线规划实现过程详解
2019/08/05 Javascript
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
Python实现的文本对比报告生成工具示例
2018/05/22 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
详解python播放音频的三种方法
2019/09/23 Python
python:目标检测模型预测准确度计算方式(基于IoU)
2020/01/18 Python
Jupyter notebook如何修改平台字体
2020/05/13 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
加热夹克:RAVEAN
2018/10/19 全球购物
建筑经济管理专业求职信分享
2014/01/06 职场文书
暑期培训心得体会
2014/09/02 职场文书
2016孝老爱亲模范事迹材料
2016/02/26 职场文书
Sql-Server数据库单表查询 4.3实验课
2021/04/05 SQL Server
用Python提取PDF表格的方法
2021/04/11 Python
Python中Cookies导出某站用户数据的方法
2021/05/17 Python
SQL语法CONSTRAINT约束操作详情
2022/01/18 MySQL