将变量传递给类的所有方法是什么?

时间:2016-03-12 15:43:37

标签: php class variables

我的主代码中有超过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)     
}
}

0 个答案:

没有答案