php-通过方法重置类实例变量

有谁知道如何通过类方法重置实例变量.像这样:

class someClass 
{
    var $var1 = '';
    var $var2 = TRUE;

    function someMethod() 
    { 
        [...]
        // this method will alter the class variables
    }

    function reset()
    {
        // is it possible to reset all class variables from here?
    }
}

$test = new someClass();
$test->someMethod();
echo $test->var1;

$test->reset();
$test->someMethod();

我知道我可以简单地执行$test2 = new SomeClass()但我特别在寻找一种通过方法重置实例(及其变量)的方法.

这有可能吗???

解决方法:

您可以使用反射来实现此目的,例如使用get_class_vars:

foreach (get_class_vars(get_class($this)) as $name => $default) 
  $this -> $name = $default;

这并不完全可靠,它会中断非公共变量(get_class_vars无法读取),并且不会接触基类变量.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...