2

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

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

4

1 回答 1

2

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

namespace Nkamm;

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

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

结果:

string(4) "test"

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

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

于 2012-11-19T07:31:10.037 回答