0

行ごとに null を割り当てずに、すべての $this 変数を無効にする方法はありますか?

   public function refresh(){
    unset($this);
}

アンセットは機能しません..

4

3 に答える 3

0

$this にいる間は unset($ths) できません。そうでなければ、どこにも行き着かないでしょう。

$this->propertyA = $this->propertyB = $this->propertyC = NULL;
于 2012-12-13T07:26:05.700 に答える
0

なぜこれをしたいのですか?作業しているクラスのインスタンスを単純に設定解除すると、内部のすべてがなくなります

$a = new SomeClass();
$a->someVar = "1";
$a->someOtherVar = "2";
unset($a);

ただし、続行する場合は、新しいインスタンスを作成することを忘れないでください。$a ただし、これにより、すべての値がプロパティ定義で設定されたデフォルト値にリセットされます。

foreach (get_class_vars(get_class($this)) as $name => $def){ 
  $this->$name = $def;
}
于 2012-12-13T07:27:04.773 に答える
-1

各フィールドをループして、1つずつ設定を解除してみてください。このような:

    function refresh() {
       foreach($this as $key => $value) {
           unset($this->$key);
       }
    }

注:このコードはテストされていないため、テストできません。

于 2012-12-13T07:29:05.660 に答える