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入门源程序
Oct 09 PHP
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
php截取后台登陆密码的代码
May 05 PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
Jun 06 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 PHP
php去除字符串换行符示例分享
Feb 13 PHP
一个不易被发现的PHP后门代码解析
Jul 05 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
Mar 18 PHP
PHP合并数组+号和array_merge的区别
Jun 25 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
Apr 01 PHP
PHP获取数组中单列值的方法
Jun 10 PHP
PHP异步进程助手async-helper
Feb 05 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 imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
php setcookie函数的参数说明及其用法
2014/04/20 PHP
PHP7标量类型declare用法实例分析
2016/09/26 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
JQery 渐变图片导航效果代码 漂亮
2010/01/01 Javascript
Jquery弹出窗口插件 LeanModal的使用方法
2012/03/10 Javascript
jQuery获取iframe的document对象的方法
2014/10/10 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
JavaScript字符串检索字符的方法
2017/06/23 Javascript
bootstrap实现二级下拉菜单效果
2017/11/23 Javascript
php 解压zip压缩包内容到指定目录的实例
2018/01/23 Javascript
Vue实现简单的留言板
2020/10/23 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
[01:34]完美“圣”典宣传片震撼发布,12.17与你不见不散
2016/12/16 DOTA
python使用7z解压apk包的方法
2015/04/18 Python
Python解析nginx日志文件
2015/05/11 Python
python实现二叉树的遍历
2017/12/11 Python
基于python3监控服务器状态进行邮件报警
2019/10/19 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
Python实现AI换脸功能
2020/04/10 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
如何利用python读取micaps文件详解
2020/10/18 Python
python3.9实现pyinstaller打包python文件成exe
2020/12/13 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
GANT葡萄牙官方商店:拥有美国运动服传统的生活方式品牌
2018/10/18 全球购物
C语言面试题
2015/10/30 面试题
文员自我评价怎么写
2013/09/19 职场文书
三峡大坝导游词
2015/01/31 职场文书
蓬莱阁导游词
2015/02/04 职场文书
卡特教练观后感
2015/06/08 职场文书
初一年级组工作总结
2015/08/12 职场文书
MySQL读取JSON转换的方式
2022/03/18 MySQL
pytorch分类模型绘制混淆矩阵以及可视化详解
2022/04/07 Python