行ごとに null を割り当てずに、すべての $this 変数を無効にする方法はありますか?
public function refresh(){
unset($this);
}
アンセットは機能しません..
$this にいる間は unset($ths) できません。そうでなければ、どこにも行き着かないでしょう。
$this->propertyA = $this->propertyB = $this->propertyC = NULL;
なぜこれをしたいのですか?作業しているクラスのインスタンスを単純に設定解除すると、内部のすべてがなくなります
$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;
}
各フィールドをループして、1つずつ設定を解除してみてください。このような:
function refresh() {
foreach($this as $key => $value) {
unset($this->$key);
}
}
注:このコードはテストされていないため、テストできません。