2

myFunc()PHPでは、の代わりに、を使用して、別の名前空間からグローバル名前空間の関数にアクセスできます\myFunc()myFunc現在の名前空間で解決できない場合、PHPは自動的にグローバル名前空間にフォールバックします。

推奨される方法はどれですか?\myFunc()またはmyFunc()

4

1 に答える 1

2

ある種のポリモーフィズムを実装する場合、または関数のロジックを完全に変更する場合は、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 に答える