在PHP中,我可以使用myFunc()
而不是\myFunc()
从另一个命名空间访问全局命名空间中的函数。如果无法在当前命名空间中解析myFunc
,PHP将自动回退到全局命名空间。
推荐哪种方式? \myFunc()
或myFunc()
?
答案 0 :(得分:2)
如果要实现某种多态或完全改变函数的逻辑,第二种选择会更好。这样的事情。
namespace Nkamm;
// like a PHP6
function strstr($needle, $haystack)
{
return \strstr($haystack, $needle);
}
var_dump(strstr('t', 'Long test'));
结果:
string(4) "test"
但我不想做这样的“重载”,因为这会导致混乱(直到它们在项目中严格记录)。因此,覆盖现有功能是没有意义的。
总结:将您的函数保存在命名空间中,使用全局函数而不使用任何反斜杠。