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 之 没有mysql支持时的替代方案
Oct 09 PHP
php设计模式 State (状态模式)
Jun 26 PHP
thinkphp的c方法使用示例
Feb 24 PHP
PHP实现模仿socket请求返回页面的方法
Nov 04 PHP
php实现修改新闻时删除图片的方法
May 12 PHP
值得分享的php+ajax实时聊天室
Jul 20 PHP
PHP微信支付实例解析
Jul 22 PHP
PDO的安全处理与事物处理方法
Oct 31 PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
关于php unset对json_encode的影响详解
Nov 14 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
Mar 11 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静态新闻列表自动生成代码
2007/06/14 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
PHP按行读取文件时删除换行符的3种方法
2014/05/04 PHP
Symfony2之session与cookie用法小结
2016/03/18 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
很酷的javascript loading效果代码
2008/06/18 Javascript
JQuery文字列表向上滚动的代码
2013/11/13 Javascript
JS和JQ的event对象区别分析
2014/11/24 Javascript
理解JavaScript的变量的入门教程
2015/07/07 Javascript
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
2020/05/26 Javascript
jQuery实现鼠标拖动图片功能
2021/03/04 jQuery
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
Python重新引入被覆盖的自带function
2014/07/16 Python
对于Python异常处理慎用“except:pass”建议
2015/04/02 Python
python用插值法绘制平滑曲线
2021/02/19 Python
VSCode Python开发环境配置的详细步骤
2019/02/22 Python
python 一维二维插值实例
2020/04/22 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
python ssh 执行shell命令的示例
2020/09/29 Python
python 实现客户端与服务端的通信
2020/12/23 Python
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
普天C++笔试题
2016/03/20 面试题
工地资料员岗位职责
2013/12/31 职场文书
法警的竞聘演讲稿
2014/01/02 职场文书
入党积极分子思想汇报范文
2014/01/05 职场文书
《童年》教学反思
2014/02/18 职场文书
超市促销活动方案
2014/03/05 职场文书
文明寝室标语
2014/06/13 职场文书
中学生社会实践教育活动总结
2015/05/06 职场文书
二十年同学聚会感言
2015/07/30 职场文书
公司人力资源管理制度
2015/08/05 职场文书
Python还能这么玩之用Python做个小游戏的外挂
2021/06/04 Python