当前位置: 首页 > 编程笔记 >

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

壤驷安和
2023-03-14
本文向大家介绍PHP命名空间(namespace)的动态访问及使用技巧,包括了PHP命名空间(namespace)的动态访问及使用技巧的使用技巧和注意事项,需要的朋友参考一下

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

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

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

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


二.魔术常量 和 操作符

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


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

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

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

/* 导入 */
include 'hello.class.php';
use \ws\weichen\www;
use \Hello;
/*--------------------------------------------------------*/
/* 支持多个use语句 */
use \nihao\shijie as hello, \ws\weichen\www;
/*--------------------------------------------------------*/
/* 全局空间:反斜线调用 */
namespace A\B\C;
//这个函数是 A\B\C\fopen();
function fopen()
{
  $f = \fopen('demo.txt');//调用全局fopen函数
  return $f;
}

 类似资料:
  • 本文向大家介绍PHP命名空间(namespace)的使用基础及示例,包括了PHP命名空间(namespace)的使用基础及示例的使用技巧和注意事项,需要的朋友参考一下 PHP的命名空间(namespace)是PHP 5.3中加入最重要的一个新特性,这个概念在C#中已经很早就有了,php中的namespace其实和c#的概念是一样的。 一. PHP的命名空间主要解决三种冲突的问题:常量,函数,类 通

  • 在Kubernetes创建新的空间 建议将与开普勒相关的服务独立到一个专有的 Namespace下,您可以执行以下命令创建该空间 $ kubectl create namespace kpaas 或执行以下命令 : $ kubectl apply -f install/kubernetes/namespace.yaml

  • 本文向大家介绍PHP命名空间(Namespace)简明教程,包括了PHP命名空间(Namespace)简明教程的使用技巧和注意事项,需要的朋友参考一下 这一特性在 PHP5.0x 时候就提出过,后来被取消并安排在 PHP6 中实现。而此次又再次“提前”到了 PHP5.3 发布,可见开发人员对其的重视以及谨慎的态度。 官方发布时说明文档的内容可能已过期(documentation maybe out

  • 本文向大家介绍PHP命名空间namespace用法实例分析,包括了PHP命名空间namespace用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP命名空间namespace用法。分享给大家供大家参考,具体如下: namespace(命名空间)相当于函数、类,划分了一个区域,这样子就使得在同个页面中可以require相同的类,使用相同名字的函数 : 在项目中比较少用 nam

  • 本文向大家介绍PHP命名空间namespace的定义方法详解,包括了PHP命名空间namespace的定义方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP命名空间namespace的定义方法。分享给大家供大家参考,具体如下: 定义命名空间 对于空间的命名,在此我想不用文字解释,更好的解释是用实例来证明: For example: 下面这段代码是”test.php”里面的文件:

  • 问题内容: 我正在尝试为RSS提要中的每个条目获取entry-> id和entry-> cap:parameter-> value…。以下是我正在使用的代码。它正确显示了ID,但未显示值字段。…请帮助。 我在这里先向您的帮助表示感谢。 问题答案: 该元素是不是在同一个命名空间为: 因此,您必须再次致电。 代码(演示)