【问题标题】:PHP Global Namespace FunctionPHP 全局命名空间函数
【发布时间】:2012-11-07 02:25:19
【问题描述】:

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

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

【问题讨论】:

    标签: php function namespaces


    【解决方案1】:

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

    namespace Nkamm;
    
    // like a PHP6
    function strstr($needle, $haystack)
    {
        return \strstr($haystack, $needle);
    }
    
    var_dump(strstr('t', 'Long test'));
    

    结果:

    string(4) "test"
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-19
      • 2013-11-22
      • 2012-11-08
      • 2012-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-31
      相关资源
      最近更新 更多