在 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/