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环境搭建最新方法
Sep 05 PHP
php 采集书并合成txt格式的实现代码
Mar 01 PHP
生成ubuntu自动切换壁纸xml文件的php代码
Jul 17 PHP
PHP测试程序运行时间的类
Feb 05 PHP
PHP类继承 extends使用介绍
Jan 14 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
Aug 16 PHP
PHP Session机制简介及用法
Aug 19 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
Jul 06 PHP
WordPress中对访客评论功能的一些优化方法
Nov 24 PHP
YII Framework框架教程之缓存用法详解
Mar 14 PHP
PHP+Ajax验证码验证用户登录
Jul 20 PHP
PHP7创建销毁session的实例方法
Feb 03 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
使用PHP数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
php字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
解析php中const与define的应用区别
2013/06/18 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
2015/10/26 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
PHP实现对数字分隔加千分号的方法
2019/03/18 PHP
Yii框架页面渲染操作实例详解
2019/07/19 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
JavaScript Date对象使用总结
2009/05/14 Javascript
基于jquery.Jcrop的头像编辑器
2010/03/01 Javascript
jQuery计算textarea中文字数(剩余个数)的小程序
2013/11/28 Javascript
浅析Node.js查找字符串功能
2014/09/03 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
2016/10/04 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
vue注册组件的几种方式总结
2018/03/08 Javascript
JS实现的合并两个有序链表算法示例
2019/02/25 Javascript
Vue学习笔记之计算属性与侦听器用法
2019/12/07 Javascript
JS如何定义用字符串拼接的变量
2020/07/11 Javascript
浅析python中的分片与截断序列
2016/08/09 Python
Python操作csv文件实例详解
2017/07/31 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
关于Python正则表达式 findall函数问题详解
2018/03/22 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
使用Python解析Chrome浏览器书签的示例
2020/11/13 Python
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
西班牙英格列斯百货法国官网:El Corte Inglés法国
2017/07/09 全球购物
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
中学教师个人总结
2015/02/10 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
暑假开始了,你的暑假学习计划写好了吗?
2019/07/04 职场文书
Python - 10行代码集2000张美女图
2021/05/23 Python
PHP获取学生成绩的方法
2021/11/17 PHP
python语言中pandas字符串分割str.split()函数
2022/08/05 Python