【发布时间】:2015-06-16 08:36:16
【问题描述】:
我有 11 行代码将类中的各种类成员变量保存到临时变量中,然后再将它们用于其他事情,例如:
// Save parts of myclass
$dutyp1 = $this->myclass->p1;
$dutyp2 = $this->myclass->p2;
...
$dutySg = $this->myclass->sg;
一些覆盖类变量的代码发生在上述代码块之后,然后我将变量恢复到类中,如下所示:
// restore parts of myclass
$this->myclass->p1 = $dutyp1;
$this->myclass->p2 = $dutyp2;
...
$this->myclass->sg = $dutySg;
我应该注意,类中还有其他变量,但只有上述特定变量是我要保存/恢复的。
问题 -- 有没有更紧凑的方法来做到这一点,而不是用完多个变量(如$dutyp1、$dutyp2 等),或者是我所拥有的怎么做?我不是在寻找疯狂的压缩/编码,而是一种更紧凑的方式来做同样的事情,而不必跨越 22 行来保存/恢复。
【问题讨论】:
-
您首先拥有“临时”变量的原因/逻辑是什么?
-
我正在处理由其他人编写的遗留代码库,这就是他们拥有的代码。我认为逻辑是正在保存的集合是“主要数据集”,然后在计算非主要数据集期间被其他函数多次覆盖。计算完成后,需要保证类数据保持原样,从而恢复数据。
-
“一些覆盖类变量的代码.....然后我将变量恢复到类中”。您并没有真正在类中“存储”变量或数据。数据(对象)被设置(实例化)到类外部的变量或数组中,以便类可以重新用于不同的数据。如果您需要通过类进行一些数据设置,然后将其实例化为一个变量,然后当您需要 不同 数据时,将该类实例化为另一个变量。 (我不是最了解课程的人,但这听起来好像是错误的)
标签: php arrays list variable-assignment php-5.5