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也可以?成Shell Script
Oct 09 PHP
php中文字符截取防乱码
Mar 28 PHP
php类中private属性继承问题分析
Nov 01 PHP
解析php中如何调用用户自定义函数
Aug 06 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
四个常见html网页乱码问题及解决办法
Sep 08 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
May 19 PHP
万能的php分页类
Jul 06 PHP
PHP生成推广海报的方法分享
Apr 22 PHP
php解压缩zip和rar压缩包文件的方法
Jul 10 PHP
Swoole扩展的6种模式深入详解
Mar 04 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
比较详细PHP生成静态页面教程
2012/01/10 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
Yii调试查看执行SQL语句的方法
2016/07/15 PHP
IE6 hack for js 集锦
2014/09/23 Javascript
node.js中的http.response.setHeader方法使用说明
2014/12/14 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
JavaScript修改作用域外变量的方法
2016/03/25 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
Vue.js中的computed工作原理
2018/03/22 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
python实现Adapter模式实例代码
2018/02/09 Python
Python中关于浮点数的冷知识
2019/09/22 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
浅析HTML5中的download属性使用
2019/03/13 HTML / CSS
计算机本科生自荐信
2013/10/15 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
乡镇干部先进性教育活动个人整改措施
2014/09/16 职场文书
开展党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
合同和协议有什么区别?
2014/10/08 职场文书
门市房租房协议书
2014/12/04 职场文书
年会邀请函范文
2015/01/30 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript
Python初识逻辑与if语句及用法大全
2021/08/07 Python
vue实力踩坑之push当前页无效
2022/04/10 Vue.js