Я думаю, что вы должны решить эту проблему, не передавая значения в конструктор, а скорее используя цепочку.
class MyFactory() {
public $data;
public static function factory( $data = null ) {
return new MyFactory( $data );
}
public function addArgument( $argValue ) {
$this->data[] = $argValue;
return $this;
}
public function doSomeFunction() {
$data = $this->data; //is an array, so you can loop through and do whatever.
/* now your arbitrarily long array of data points can be used to do whatever. */
}
}
И вы можете использовать это так:
$factory = MyFactory::factory();
$factory
->addArgument( '21' )
->addArgument( '903' )
->addArgument( '1' )
->addArgument( 'abc' )
->addArgument( 'jackson' )
->doSomeFunction();
Я надеюсь, что, по крайней мере, вы направитесь в полезном направлении.С этим типом рисунка вы можете делать всякие сумасшедшие вещи.