variants = $variants; } public function call($method, &$a1=null, &$a2=null, &$a3=null, &$a4=null, &$a5=null, &$a6=null, &$a7=null) { $values = array(); foreach ($this->variants as $variant) { if (method_exists($variant, $method)) { $value = $variant->$method($a1, $a2, $a3, $a4, $a5, $a6, $a7); if ($value !== null) { $values[] = $value; } } } return $values; } }