当前位置:  编程技术>php

PHP命名空间(namespace)的动态访问及使用技巧

    来源: 互联网  发布时间:2014-08-26

    本文导语:  PHP的命名空间(namespace)是PHP 5.3中加入最重要的一个新特性,这个概念在C#中已经很早就有了,php中的namespace其实和c#的概念是一样的。 一.动态访问命名空间的元素 namespace mepoet; function test() { echo '1111'; } $fun = 'test';//不能...

PHP的命名空间(namespace)是PHP 5.3中加入最重要的一个新特性,这个概念在C#中已经很早就有了,php中的namespace其实和c#的概念是一样的。

一.动态访问命名空间的元素

namespace mepoet;
function test()
{
  echo '1111';
}
$fun = 'test';//不能这么用,最后$fun()无法动态调用到test():Fatal error: Call to undefined function test()
$fun = 'mepoettest';//正确
//$fun = 'mepoettest';//正确
$fun();

也就是说,动态调用必须是 限定名称 或 完全限定名称(概念参考:PHP命名空间的使用基础)


二.魔术常量 和 操作符

namespace mepoet;
function test()
{
  echo '1';
}
echo __NAMESPACE__; //魔术常量:命名空间的名称(输出 mepoet)
//namespace操作符:显式访问当前命名空间或子命名空间中的元素,等价于类中的self操作符
mepoettest();
namespacetest();
//上两行代码等价。


三.别名、导入 和 全局空间(含多个例子)

namespace wsweichenwww;
use wsweichenwww as poet;//定义别名poet
//use wsweichenwww; //不加as,则取最后的作为别名(www)
function demo()
{
  echo '1';
}
wsweichenwwwdemo();
poetdemo();
//wwwdemo();    //不加as的情况,则这样调用

以上三行代码效果一样。
按规则(wsweichenwww)命名的好处:若更换域名,只要把前缀名称改了就可以,不影响后面代码中别名www的使用。

/* 导入 */
include 'hello.class.php';
use wsweichenwww;
use Hello;
/*--------------------------------------------------------*/
/* 支持多个use语句 */
use nihaoshijie as hello, wsweichenwww;
/*--------------------------------------------------------*/
/* 全局空间:反斜线调用 */
namespace ABC;
//这个函数是 ABCfopen();
function fopen()
{
  $f = fopen('demo.txt');//调用全局fopen函数
  return $f;
}


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php 创建以UNIX时间戳命名的文件夹(示例代码)
  • php 创建以unix时间戳命名的文件夹
  • php命名空间实例解析
  • php命名空间学习详解
  • PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
  • php上传图片之时间戳命名(保存路径)
  • PHP图片上传与重命名六种方法总结
  • php上传图片重命名的六种方法
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例
  • php服务器探针显示php服务器信息
  • php安装完成后如何添加mysql扩展
  • 修改配置真正解决php文件上传大小限制问题(apache+php) iis7站长之家
  • PHP的substr() 函数用法
  • PHP源文件加密工具 PHP Screw
  • PHP介绍及学习网站推荐
  • PHP自动化测试 PHP-QAT
  • php中操作memcache的类及成员列表及php下如何连接memched服务器
  • PHP 的 HTTP 客户端库 PHP Buzz
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • PHP 调试工具 PHP_Dyn


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3