php中namespace及use用法分析

 更新时间:2016年12月06日 10:56:19   作者:牛逼的霍啸林  
这篇文章主要介绍了php中namespace及use用法,结合实例形式分析了php中namespace及use的功能与具体使用方法,需要的朋友可以参考下

本文实例讲述了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运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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

相关文章

  • PHP 采集程序原理分析篇

    PHP 采集程序原理分析篇

    由于需要,要写一个简单的PHP采集程序,照例是到网上找了一堆教程,然后照猫画虎,可是发现网上的教程全是似是而非,没有一个真正能用的。
    2010-03-03
  • php函数serialize()与unserialize()用法实例

    php函数serialize()与unserialize()用法实例

    这篇文章主要介绍了php函数serialize()与unserialize()用法,以实例形式详细讲述了php函数serialize()与unserialize()的适用情况与使用方法,具有很好的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • 关于php 接口问题(php接口主要也就是运用curl,curl函数)

    关于php 接口问题(php接口主要也就是运用curl,curl函数)

    本篇文章是对php中的接口问题(php接口主要也就是运用curl,curl函数)进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • PHP 工厂模式使用方法

    PHP 工厂模式使用方法

    工厂类是指包含一个专门用来创建其他对象的方法的类,工厂类在多态性编程实践中是至关重要的,它允许动态的替换类,修改配置,通常会使应用程序更加灵活,熟练掌握工厂模式高级PHP开发人员是很重要的。
    2010-05-05
  • PHP的5个安全措施小结

    PHP的5个安全措施小结

    多年来,PHP一直是一个稳定的、廉价的运行基于web应用程序的平台。像大多数基于web的平台一样,PHP也是容易受到外部攻击的
    2012-07-07
  • PHP文字转图片功能原理与实现方法分析

    PHP文字转图片功能原理与实现方法分析

    这篇文章主要介绍了PHP文字转图片功能原理与实现方法,结合具体实例形式分析了php基于gd2扩展库生成图片的相关配置及使用方法,需要的朋友可以参考下
    2017-08-08
  • PHP实现一维数组与二维数组去重功能示例

    PHP实现一维数组与二维数组去重功能示例

    这篇文章主要介绍了PHP实现一维数组与二维数组去重功能,结合实例形式分析了php针对一维数组与二维数组进行遍历、判断、排序、去重等相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • PHP与MongoDB简介|安全|M+PHP应用实例详解

    PHP与MongoDB简介|安全|M+PHP应用实例详解

    本篇文章是对PHP中的MongoDB简介|安全|M+PHP应用实例进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • thinkphp中U方法按路由规则生成url的方法

    thinkphp中U方法按路由规则生成url的方法

    下面小编就为大家分享一篇thinkphp中U方法按路由规则生成url的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • php模块memcache和memcached区别分析

    php模块memcache和memcached区别分析

    谈及php搭配memcached使用,已经是老生常谈的问题。但是有一些细节,不见得人人清楚。比如说php的模块memcache和memcached有什么区别等。下面我就简单介绍一下。
    2011-06-06

最新评论