Почему я раньше не знал, что можно делать так:
class MyClass{
private $var;
public static function create($val){
$obj = new self;
$obj->var = $val; // Доступ к private свойству из статичного метода
return $obj;
}
}
$a = MyClass::create('a'); // РаботаетЕтож перегрузка конструктора, о которой я давно мечтал!