PHP全局命名空间函数

时间:2012-11-19 07:10:43

标签: php function namespaces

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

推荐哪种方式? \myFunc()myFunc()

1 个答案:

答案 0 :(得分:2)

如果要实现某种多态或完全改变函数的逻辑,第二种选择会更好。这样的事情。

namespace Nkamm;

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

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

结果:

string(4) "test"

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

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