PHP全局命名空间函数

3
在PHP中,我可以使用myFunc()而不是\myFunc()从另一个命名空间访问全局命名空间中的函数。如果在当前命名空间中无法解析myFunc,PHP将自动回退到全局命名空间。
哪种方式被推荐?\myFunc()还是myFunc()
1个回答

2

如果你想要实现某种多态性或完全改变函数的逻辑,第二个选项更好。就像这样。

namespace Nkamm;

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

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

结果:

string(4) "test"

但是我不想做这种“超负荷”的事情,因为那会造成混乱(在项目中严格记录之前)。所以没有必要覆盖现有的函数。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接