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 相关文章推荐
用libTemplate实现静态网页的生成
Oct 09 PHP
PHP4在WinXP下IIS和Apache2服务器上的安装实例
Oct 09 PHP
php批量删除数据
Jan 18 PHP
PHP安全性漫谈
Jun 28 PHP
php获得用户ip地址的比较不错的方法
Feb 08 PHP
Drupal7 form表单二次开发要点与实例
Mar 02 PHP
ThinkPHP路由详解
Jul 27 PHP
mysql alter table命令修改表结构实例详解
Sep 24 PHP
PHP实现文件下载【实例分享】
Apr 28 PHP
PHP生成推广海报的方法分享
Apr 22 PHP
php设计模式之适配器模式原理、用法及注意事项详解
Sep 24 PHP
PHP代码覆盖率统计详解
Jul 22 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语法速查表
2006/12/06 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
php 在windows下配置虚拟目录的方法介绍
2013/06/26 PHP
php的memcache类分享(memcache队列)
2014/03/26 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
学习YUI.Ext 第三天
2007/03/10 Javascript
dojo 之基础篇(二)之从服务器读取数据
2007/03/24 Javascript
javascript模拟地球旋转效果代码实例
2013/12/02 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
js实现异步循环实现代码
2016/02/16 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
简单的Vue SSR的示例代码
2018/01/12 Javascript
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
js 实现 list转换成tree的方法示例(数组到树)
2019/08/18 Javascript
nodejs脚本centos开机启动实操方法
2020/03/04 NodeJs
js函数和this用法实例分析
2020/03/13 Javascript
JS使用for in有序获取对象数据
2020/05/19 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
2014/06/18 Python
Python与Redis的连接教程
2015/04/22 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
2017/05/08 Python
python机器学习实战之树回归详解
2017/12/20 Python
Django框架请求生命周期实现原理
2020/11/13 Python
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
材料采购员岗位职责
2013/12/17 职场文书
单位领导证婚词
2014/01/14 职场文书
光荣入党自我鉴定
2014/01/22 职场文书
学习自我鉴定
2014/02/01 职场文书
我的中国心演讲稿
2014/09/04 职场文书
机器人总动员观后感
2015/06/09 职场文书
李强优秀员工观后感
2015/06/16 职场文书