如何从名称空间PHP调用全局函数类


how to call global functions classes from namespace PHP

有什么方法可以避免经常使用反斜杠吗?

现在,如果我使用名称空间并在其中调用全局性的东西,我必须使用反斜杠:

namespace foo;
$a = new 'my'name(); // instantiates "my'name" class
echo 'strlen('hi'); // calls function "strlen"
$a = 'INI_ALL; // $a is set to the value of constant "INI_ALL"

在这种情况下,名称空间内的代码变得非常丑陋,有什么方法可以避免这种情况吗???

示例取自该url:http://www.php.net/manual/en/language.namespaces.faq.php

但我的问题是,如果我需要从命名空间调用一些内置类,我必须在名称前面使用反斜杠,我能以某种方式避免它吗?

全局命名空间中的

常量和函数不必以反斜杠开头。PHP将回退到全局命名空间中,以供自己使用。PHP手册中有整整一章对此进行了解释:

  • 使用命名空间:回退到全局函数/常量

在命名空间中,当PHP在类名、函数或常量上下文中遇到不合格的Name时,它会用不同的优先级来解决这些问题。类名始终解析为当前命名空间名称。[…]对于函数和常量,如果不存在命名空间函数或常量,PHP将返回全局函数或常量。