Меня немного смущает, что является правильным местом для установки свойств объекта, в конструкторе или в фабричном методе, или это не имеет значения?
В конструкторе:
class Foo {
public $bar;
function __constructor($b) {
$this->bar = $b;
}
static function factory($b) {
return new self($b);
}
}
На фабрике:
class Foo {
public $bar;
static function factory($b) {
$obj = new self();
$obj->bar = $b;
return $obj;
}
}