Peki, bu eski bir soru olabilir ama programlama bir çok şey gibi - sonunda cevap değişir.
PHP 5.3 ile ilgili, hayır, sen yapıcısı doğrudan zincir olamaz. Düzgün miras karşılamak amacıyla, ancak kabul edilen yanıt genişletmek için, bunu yapabilirsiniz:
abstract class Foo
{
public static function create()
{
return new static;
}
}
class Bar extends Foo
{
public function chain1()
{
return $this;
}
public function chain2()
{
return $this;
}
}
$bar = Bar::create()->chain1()->chain2();
Bu sadece iyi çalışır ve size yeni bir Bar () örneğini döndürür.
PHP 5.4 ise, basitçe yapabilirsiniz:
$bar = (new Bar)->chain1()->chain2();
Umarım bu ben var gibi soru karşısında tökezleyerek birisi yardımcı olur!