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 22 PHP
php 无限分类的树类代码
Dec 03 PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
Jul 15 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
Dec 15 PHP
php操作xml入门之xml基本介绍及xml标签元素
Jan 23 PHP
php替换字符串中间字符为省略号的方法
May 04 PHP
PHP结合jQuery实现找回密码
Jul 22 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
Feb 15 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
Sep 22 PHP
PHP版单点登陆实现方案的实例
Nov 17 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
Dec 06 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 22 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
中东人咖啡哲学
2021/03/03 咖啡文化
通过html表格发电子邮件
2006/10/09 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
php使用curl和正则表达式抓取网页数据示例
2014/04/13 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
jQuery Selector选择器小结
2010/05/06 Javascript
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
Angularjs实现多图片上传预览功能
2018/07/18 Javascript
在小程序中集成redux/immutable/thunk第三方库的方法
2018/08/12 Javascript
详解小程序缓存插件(mrc)
2018/08/17 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
VUE搭建手机商城心得和遇到的坑
2019/02/21 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
[00:55]2015国际邀请赛中国区预选赛5月23日——28日约战上海
2015/05/25 DOTA
python封装对象实现时间效果
2020/04/23 Python
Python中的模块和包概念介绍
2015/04/13 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
Python3匿名函数用法示例
2018/07/25 Python
python字符串替换第一个字符串的方法
2019/06/26 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
英国最大的在线时尚眼镜店:Eyewearbrands
2019/03/12 全球购物
SCHIESSER荷兰官方网站:德国内衣专家
2020/10/09 全球购物
几个判断型的面试题
2012/07/03 面试题
航空大学应届生求职信
2013/11/10 职场文书
面包店的创业计划书范文
2014/01/16 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
党员剖析材料范文
2014/12/18 职场文书
高一化学教学反思
2016/02/22 职场文书
解决golang 关于全局变量的坑
2021/05/06 Golang
MySQL中in和exists区别详解
2021/06/03 MySQL
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js