7

私はJS開発者であり、自己実行型の無名関数を日常的に使用して、グローバルスコープの汚染を最小限に抑えています。

すなわち:(JS)

(function(){
    var x = ...
})(); 

関数/変数名の衝突を最小限に抑えるために、PHPで同じ手法が可能/推奨されていますか?

すなわち:(PHP)

(function(){

    $x = 2;

    function loop($a){
        ...
    }

    loop($x);

})();
4

2 に答える 2

3

グローバルな汚染を回避するには、クラスとオブジェクト指向のアプローチを使用して ください。ここで PHP ドキュメントを参照してください。

汚染をさらに回避するには、静的変数とグローバル変数を避けてください。

あなたが示したようなクロージャがJavascriptで使用されているのは、それ(Javascript)がプロトタイプベースの言語であり、通常はオブジェクト指向ベースの言語で表示される(形成的な意味での)プロパティがないためです。

于 2013-02-13T04:32:05.243 に答える