php中namespace及use用法分析


Posted in PHP onDecember 06, 2016

本文实例讲述了php中namespace及use用法。分享给大家供大家参考,具体如下:

namespace(以下简称ns)。在定义了一个ns之后,下面所申明的class、interface、const(不包含variable)都是在申明的ns这个“域”里面的。当引用一个申明了ns的包含文件,想要调用这个ns里面的东西,那必须调整当前脚本也到此ns域,否则就得用全称()包含ns全称):

// inc.php
namespace Foo;
class Bar {}
// 访问Foo的第一种方法,用全称
require 'inc.php';
$foo = new \Foo\Bar();
// 访问Foo的第二种方法
namespace Foo; // 调整当前脚本到Foo这个ns域,而且namespace申明必须在第一句
require 'inc.php';
$foo = new Bar();

use关键字目的是使用ns的别名:

// 比如
use A\Very\Long\Namespace as Ns;
// 这样就可以用Ns来代替A/Very/Long/Namespace这个ns下定义的东西
$foo = new Ns\Foo();

但是在一些开源项目里面经常会看到use Ns\Component这样的用法,没有用as,这让我以前一直在思考use是否还有第二种用法,糟糕的是php的文档里面也没有对此用法有描述,只能靠猜测,后来仔细想过这个问题,得出一个比较靠谱的结论是use可以省略as以及后面的别名而直接把ns最后一个节点的名字当作别名,感觉是不是很像ln -s命令的用法呢:

// 第三种用法
require 'inc.php';
use Foo\Bar; // 这样Bar就等于Foo\Bar了
$foo = new Bar();

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

PHP 相关文章推荐
一段php加密解密的代码
Oct 09 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
Sep 19 PHP
经典PHP加密解密函数Authcode()修复版代码
Apr 05 PHP
smarty简单应用实例
Nov 03 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
Jun 13 PHP
PHP使用自定义方法实现数组合并示例
Jul 07 PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 PHP
php面向对象程序设计中self与static的区别分析
May 21 PHP
基于Laravel-admin 后台的自定义页面用法详解
Sep 30 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
Nov 24 PHP
Jsonp劫持学习
Apr 01 PHP
PHP实现的统计数据功能详解
Dec 06 #PHP
php+ajax简单实现全选删除的方法
Dec 06 #PHP
thinkPHP数据库增删改查操作方法实例详解
Dec 06 #PHP
thinkPHP中volist标签用法示例
Dec 06 #PHP
探究Laravel使用env函数读取环境变量为null的问题
Dec 06 #PHP
thinkphp中AJAX返回ajaxReturn()方法分析
Dec 06 #PHP
php中引用符号(&)的使用详细介绍
Dec 06 #PHP
You might like
杏林同学录(九)
2006/10/09 PHP
PHP获得用户使用的代理服务器ip即真实ip
2006/12/31 PHP
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
wordpress自定义url参数实现路由功能的代码示例
2013/11/28 PHP
10个实用的PHP正则表达式汇总
2014/10/23 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
Smarty3配置及入门语法
2017/02/22 PHP
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
node.js超时timeout详解
2014/11/26 Javascript
node.js操作mongodb学习小结
2015/04/25 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
node.js中事件触发器events的使用方法实例分析
2019/11/23 Javascript
jQuery--遍历操作实例小结【后代、同胞及过滤】
2020/05/22 jQuery
Vue使用Proxy代理后仍无法生效的解决
2020/11/13 Javascript
Python中用于计算对数的log()方法
2015/05/15 Python
Python实现的选择排序算法示例
2017/11/29 Python
Pycharm配置远程调试的方法步骤
2018/12/17 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
2017/02/13 HTML / CSS
英国时尚服饰电商:Boohoo
2017/10/12 全球购物
Janie and Jack美国官网:GAP旗下的高档童装品牌
2019/09/09 全球购物
迪卡侬印尼体育用品商店:Decathlon印尼
2020/03/11 全球购物
超市周年庆活动方案
2014/08/16 职场文书
爱护公物演讲稿
2014/09/09 职场文书
保研专家推荐信范文
2015/03/25 职场文书
严以律己专题学习研讨会发言材料
2015/11/09 职场文书
2016中秋节问候语
2015/11/11 职场文书
同学聚会开幕词
2019/04/02 职场文书
全面盘点MySQL中的那些重要日志文件
2021/11/27 MySQL