PHP 全局命名空间函数

标签 php function namespaces

在 PHP 中,我可以使用 myFunc() 从另一个命名空间访问全局命名空间中的函数。 , 而不是 \myFunc() . PHP 将自动回退到全局命名空间,如果 myFunc无法在当前命名空间中解析。

推荐的方式是什么? \myFunc()myFunc() ?

最佳答案

如果您想实现某种多态性或完全改变函数的逻辑,则第二种选择更好。像这样的东西。

namespace Nkamm;

// like a PHP6
function strstr($needle, $haystack)
{
    return \strstr($haystack, $needle);
}

var_dump(strstr('t', 'Long test'));

结果:
string(4) "test"

但我不想做这样的“重载”,因为这会导致困惑(直到它们在项目中被严格记录)。因此,覆盖现有功能是没有意义的。

总结:将您的函数保留在您的命名空间中,使用没有任何反斜杠的全局函数。

关于PHP 全局命名空间函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13449159/

相关文章:

获取特定工作表名称的函数

c# - 是否可以区分具有相同完全限定名称的类型?

JavaScript 避免使用构造函数模式创建的对象造成全局命名空间污染

php - 在较新的安装中使用 Symfony 项目

javascript - 文件上传(拖放)不起作用

php - 如何更改使用 PHP Imagick 的 newPseudoImage 函数绘制的标题的颜色?

PHP json_decode 返回空数组

python函数默认参数只评估一次?

c - 尝试在 struct tm 中设置值

c++ - rand() 为什么以及如何存在于 cstdlib 的全局和 std 命名空间中?