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设计聊天室步步通
Oct 09 PHP
在PHP中使用模板的方法
May 24 PHP
PHP mb_convert_encoding 获取字符串编码类型实现代码
Apr 26 PHP
php错误、异常处理机制(补充)
May 07 PHP
深入解析yii权限分级式访问控制的实现(非RBAC法)
Jun 13 PHP
神盾加密解密教程(三)PHP 神盾解密工具
Jun 08 PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 PHP
注释PHP和html混合代码的小技巧(分享)
Nov 03 PHP
Laravel核心解读之异常处理的实践过程
Feb 24 PHP
Yii框架布局文件的动态切换操作示例
Nov 11 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
Jan 26 PHP
你真的了解PHP中的引用符号(&)吗
May 12 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
linux下使用crontab实现定时PHP计划任务失败的原因分析
2014/07/05 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
2014/12/22 PHP
浅谈php+phpStorm+xdebug配置方法
2015/09/17 PHP
php合并数组并保留键值的实现方法
2018/03/12 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
深入理解Java线程编程中的阻塞队列容器
2015/12/07 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
2016/08/31 Javascript
详解Js模板引擎(TrimPath)
2016/11/22 Javascript
Angular2利用组件与指令实现图片轮播组件
2017/03/27 Javascript
详解AngularJS跨页面传值(ui-router)
2017/08/23 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
在element-ui的select下拉框加上滚动加载
2019/04/18 Javascript
Vue 子组件与数据传递问题及注意事项
2019/07/11 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
2020/07/12 Javascript
python通过自定义isnumber函数判断字符串是否为数字的方法
2015/04/23 Python
Python如何实现MySQL实例初始化详解
2017/11/06 Python
flask使用session保存登录状态及拦截未登录请求代码
2018/01/19 Python
python利用requests库模拟post请求时json的使用教程
2018/12/07 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
阿迪达斯墨西哥官方网站:adidas墨西哥
2017/11/03 全球购物
美国球鞋寄卖网站:Stadium Goods
2018/05/09 全球购物
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
八一建军节部队活动方案
2014/02/04 职场文书
买卖协议书范本
2014/04/21 职场文书
物业保安岗位职责
2014/07/02 职场文书
文言文辞职信
2015/02/28 职场文书