Statik yöntem içinde sınıf örneğini oluşturmak

0 Cevap php

Gibi başlık diyor, ben aynı sınıf statik bir yöntem içinde bir sınıfın örneğini oluşturmak isteyen. Ben şimdiye kadar böyle bir şey yaparak yapabilirsiniz olduğunu anladım:

class Foo{

 public $val;

 public static function bar($val){
  $inst = new Foo;
  $inst->val = $val;
  return $inst;
 }

}

Hangi nedenle bana bunu sağlar.

$obj = Foo::bar("some variable");

Hangi büyük.

Şimdi sorular. Ben farkında değilim, bunu yapmanın kolay bir yolu, ya da aynı sonucu elde etmek için herhangi bir kısayol var mı? Bu şekilde bir örneğini oluşturma herhangi bir avantaj ya da dezavantajları var mı?

Teşekkürler.

0 Cevap