我的主代码中有超过15个变量,需要将它们全部传递给一个类。我不想在调用方法TWO和THREE(方法注入)时传递所有这些,因为我必须重复许多代码。另一方面,我无法使用构造注入传递它们,因为我必须在调用方法时重复所有变量。将变量传递给类的所有不同方法是什么? 请注意,我的变量在for循环中不断变化。
主要代码:
for ($x = 0; $x <= count($updateArray["result"]) - 1; $x++) {
$process = new ONE();
$type = $updateArray["result"][$x]["message"];
$aa = $updateArray["result"][$x]["update_id"];
if (array_key_exists("set_to", $type)) {
$bb = $updateArray["result"][$x]["text"];
$cc = $updateArray["result"][$x]["width"];
$action = $process->TWO($aa, $bb, $cc);
}
elseif (array_key_exists("delete_from", $type)) {
$cc = $updateArray["result"][$x]["width"];
$dd = $updateArray["result"][$x]["file_size"];
$action = $process->THREE($aa, $cc, $dd);
}
else {
//do something else
}
}
第一类:
class ONE{
public $aa, $bb, $cc, $dd;
public function __construct () {
$this->aa = $aa;
}
public function TWO($aa, $bb, $cc) {
$this->bb = $bb;
$this->cc = $cc;
// need to repeat lots of code like this: $this->xxx = $xxx
//use these variables: (aa, bb, cc)
}
public function THREE($aa, $cc, $dd) {
$this->bb = $cc;
$this->cc = $dd;
// need to repeat lots of code like this: $this->xxx = $xxx
//use these variables: (aa, cc, dd)
}
}