Кажется, что часто я захочу выполнить некоторые методы из класса, когда я вызываю его и выбираю, какая функция будет зависеть от некоторого условия. Это заставляет меня писать классы, как в случае 1, потому что позволяет мне быстро включать их функциональность. Альтернативой может быть Случай 2, который может занять много времени, если кода много, а также означает, что больше кода пишется дважды, когда я помещаю Класс на разные страницы.
Сказав это, Случай 1 чувствует себя очень неправильно по какой-то причине, из-за которой я не могу понять, на что я способен. Полагаю, я действительно не видел ни одного подобного класса.
Что-то не так с написанием классов, как в случае 1, или в случае 2 выше? Или есть лучший способ? Какие преимущества и недостатки у каждого?
Дело 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);
Дело 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();