2

PHP:インクルードファイルからすべての変数を設定解除する方法は?

4

4 に答える 4

3

get_defined_vars()を確認することをお勧めしますが、名前空間を使用すると、はるかに意味があります。

于 2012-10-23T19:30:30.300 に答える
0

何かのようなもの:

foreach($GLOBALS as $key => $val) {
    unset($GLOBALS[$key]);
}

しかし、私はこれを決してしません。一部のコメント投稿者が言ったように、名前空間を調べてください。

于 2012-10-23T19:30:07.913 に答える
0

2 つの理由から、グローバル変数を使用しないでください

  • スパゲッティコード
  • 名前の衝突

そのスパゲッティ コード部分に対処することはできませんが、名前の競合を避けるために、すべてのグローバル変数を独自のクラスに移動することをお勧めします

グローバル変数を設定する代わりに、それらを単一のグローバル オブジェクトの静的プロパティとして設定できます。

class Globals {
  public static global1 = 0;
  public static global2 = 2;
}

そして、それらをコードで次のように使用します

Globals::global1 = 5;

これにより名前の競合は回避されますが、それでも回避し、グローバルに頼らずにコードを実装しようとしています。

于 2012-10-23T19:33:16.760 に答える
-2

unset(); を使用します。

元。設定解除 ($_POST); 設定解除 ($_GET); 設定解除 ($データ);

于 2012-10-23T19:27:39.383 に答える