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如何得到当前页和上一页的地址?
Nov 27 PHP
Breeze 文章管理系统 v1.0.0正式发布
Dec 14 PHP
PHP中通过ADO调用Access数据库的方法测试不通过
Dec 31 PHP
php单例模式实现(对象只被创建一次)
Dec 05 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
Aug 10 PHP
Apache启动报错No space left on device: AH00023该怎么解决
Oct 16 PHP
PHP读书笔记_运算符详解
Jul 01 PHP
PHP实现Google plus的好友拖拽分组效果
Oct 21 PHP
thinkphp整合微信支付代码分享
Nov 24 PHP
php json_encode与json_decode详解及实例
Dec 13 PHP
PHP开发实现微信退款功能示例
Nov 25 PHP
thinkPHP3.2.2框架行为扩展及demo示例
Jun 19 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
一个SQL管理员的web接口
2006/10/09 PHP
php中用数组的方法设置cookies
2011/04/21 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
在js文件中写el表达式取不到值的原因及解决方法
2013/12/23 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
Javascript生成带参数的二维码示例
2016/10/10 Javascript
ES6正则的扩展实例详解
2017/04/25 Javascript
vue+iview写个弹框的示例代码
2017/12/05 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
基于JavaScript实现每日签到打卡轨迹功能
2018/11/29 Javascript
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
微信小程序自定义组件实现环形进度条
2020/11/17 Javascript
vue实现axios图片上传功能
2019/08/20 Javascript
python广度优先搜索得到两点间最短路径
2019/01/17 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
Python数据可视化实现正态分布(高斯分布)
2019/08/21 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
django中ImageField的使用详解
2020/12/21 Python
css3制作动态进度条以及附加jQuery百分比数字显示
2012/12/13 HTML / CSS
一个基于canvas的移动端图片编辑器的实现
2020/10/28 HTML / CSS
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
药剂学专业应届生自荐信
2013/09/29 职场文书
护理自荐信范文
2013/10/05 职场文书
《争吵》教学反思
2014/02/15 职场文书
2014年创先争优活动总结
2014/05/04 职场文书
求职信结尾怎么写
2014/05/26 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
具结保证书范本
2015/05/11 职场文书
党务工作者主要事迹材料
2015/11/03 职场文书
python 命令行传参方法总结
2021/05/25 Python
mysql配置SSL证书登录的实现
2021/09/04 MySQL