Genellikle ben bunu ve fonksiyon bazı durumuna bağlıdır Seçimini çağırdığınızda Sınıf bazı yöntemleri yürütmek istiyor gibi görünüyor. Bu beni hızla kendi işlevselliği eklemek için izin verir, çünkü beni Olgu 1'deki gibi sınıflar yazmak için açar. Alternatif var bir sürü kod ve aynı zamanda farklı sayfalara Class düştüğünde iki kez yazıldığı fazla kod anlamına gelir eğer çok zaman alabilir hangi Olgu 2 olacaktır.
Olgu 1 Ben oldukça üzerinde benim parmak koyamazsınız nedense çok yanlış geliyor, o söyledikten sonra. Ben gerçekten böyle yazılmış herhangi sınıflar görmedim, herhalde.
Olgu 1 gibi yazma sınıfları ile yanlış bir şey var mı veya Kutu 2 üstündür? Ya da daha iyi bir yolu var mı? Ne her avantajları ve dezavantajları?
Case 1
class Foo {
public function __construct($bar) {
if($bar = 'action1') $this->method1();
else if($bar = 'action2') $this->method2();
else $this->method1();
}
public function method1() { }
public function method2() { }
}
$bar = 'action1'
$foo = new Foo($bar);
Case 2
class Foo {
public function __construct() { }
public function method1() { }
public function method2() { }
}
$foo = new Foo;
$bar = 'action1';
if($bar == 'action1') $foo->method1();
else if($bar == 'action2') $foo->method2();
else $foo->method1();