PHP命名空间定义与用法实例分析


Posted in PHP onAugust 14, 2019

本文实例讲述了PHP命名空间定义与用法。分享给大家供大家参考,具体如下:

php的命名空间的样式跟linux的路径很相似。

PHP命名空间定义与用法实例分析

我们使用文件的路径作为命名空间。

定义命名空间

MVC\Model\index.php代码

<?php
namespace MVC\Model;
class Index
{
  public static function test()
  {
    echo "test#Model";
  }
}

使用命名空间

MVC\Application\index.php代码

<?php
namespace MVC\Application;
use \MVC\Model;
require_once "../Model/index.php";
class Index
{
  public static function test()
  {
    echo "test#Application";
  }
}
//Index::test();  //输出test#Application
Model\Index::test();//输出test#Model

其中use \MVC\Model;等价于use \MVC\Model as Model;

所以我们才可以用Model\Index::test();这种方式调用Model下面的index类。

我们在声明使用命名空间的,声明的路径越具体,我们使用起来就越方便。

贴上几段代码,感受下~

1) use \MVC

use \MVC;
require_once "../Model/index.php";
MVC\Model\Index::test();//输出test#Model

2)use \MVC\Model

use \MVC\Model;
require_once "../Model/index.php";
Model\Index::test();//输出test#Model

3) use \MVC\Model\Index

use \MVC\Model\Index;
require_once "../Model/index.php";
Index::test();//输出test#Model

通过上面代码的分析,我们可以看到。当使用命名空间时的声明具体到类时,我们使用Index::test()这种方式就可以调用相关类,是不是不楼痕迹,但是我们要注意这种时候要避免类名的重复,否则会报错。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP学习之数组值的操作
Apr 17 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
Jun 30 PHP
thinkphp四种url访问方式详解
Nov 28 PHP
php 5.6版本中编写一个PHP扩展的简单示例
Jan 20 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
Mar 18 PHP
php+ajax实现无刷新分页
Nov 18 PHP
thinkPHP2.1自定义标签库的导入方法详解
Jul 20 PHP
php微信浏览器分享设置以及回调详解
Aug 01 PHP
php redis实现对200w用户的即时推送
Mar 04 PHP
Yii实现复选框批量操作实例代码
Mar 15 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
Oct 30 PHP
php中的依赖注入实例详解
Aug 14 #PHP
php基于 swoole 实现的异步处理任务功能示例
Aug 13 #PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 #PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
Aug 13 #PHP
php实现的表单验证类完整示例
Aug 13 #PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 #PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 #PHP
You might like
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
php内核解析:PHP中的哈希表
2014/01/30 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
2014/09/24 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
php使用类继承解决代码重复的问题
2015/02/11 PHP
举例详解PHP脚本的测试方法
2015/08/05 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
2015/12/14 PHP
MAC下通过改apache配置文件切换php多版本的方法
2017/04/26 PHP
jquery插件开发方法(初学者)
2012/02/03 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
JS脚本defer的作用示例介绍
2014/01/02 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
node.js中的console.info方法使用说明
2014/12/09 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
五步轻松实现zTree的使用
2017/11/01 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
浅谈Express.js解析Post数据类型的正确姿势
2019/05/30 Javascript
vue 实现路由跳转时更改页面title
2019/11/05 Javascript
浅谈Python的异常处理
2016/06/19 Python
Python向Excel中插入图片的简单实现方法
2018/04/24 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
2020/08/05 Python
Marc Jacobs官方网站:美国奢侈品牌
2017/08/29 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
抗洪抢险事迹材料
2014/05/06 职场文书
落实八项规定专题民主生活会对照检查材料
2014/09/15 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
2019职场单身人才调研报告:互联网行业单身比例最高
2019/08/07 职场文书
戴尔Win11系统no bootable devices found解决教程
2022/09/23 数码科技