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 相关文章推荐
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
Jun 08 PHP
PHP 解决utf-8和gb2312编码转换问题
Mar 18 PHP
Linux编译升级php的详细方法
Nov 04 PHP
php中AES加密解密的例子小结
Feb 18 PHP
php生成rss类用法实例
Apr 14 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
Dec 17 PHP
PHP中Array相关函数简介
Jul 03 PHP
php框架CodeIgniter主从数据库配置方法分析
May 25 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
May 30 PHP
使用vs code编辑调试php配置的方法
Jan 29 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 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捕获Fatal error错误的方法
2014/06/11 PHP
PHP生成RSS文件类实例
2014/12/05 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
微信公众平台开发关注及取消关注事件的方法
2014/12/23 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
2011/09/05 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
2014/06/06 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
2017/12/07 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
Bootstrap实现省市区三级联动(亲测可用)
2019/07/26 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
python列表操作使用示例分享
2014/02/21 Python
对TensorFlow中的variables_to_restore函数详解
2018/07/30 Python
对pytorch网络层结构的数组化详解
2018/12/08 Python
Python实现KNN(K-近邻)算法的示例代码
2019/03/05 Python
Django Celery异步任务队列的实现
2019/07/24 Python
画pytorch模型图,以及参数计算的方法
2019/08/17 Python
使用Python打造一款间谍程序的流程分析
2020/02/21 Python
外语学院毕业生的自我鉴定
2013/11/28 职场文书
初中地理教学反思
2014/01/11 职场文书
超市国庆节促销方案
2014/02/20 职场文书
2014年协会工作总结
2014/11/22 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书
HDFS免重启挂载新磁盘
2022/04/06 Servers