![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Mam pytanie czy w php5 da się przeciążyć konstruktor? Generalnie wiem, że można przeciążać dowolną funkcję za pomocą __call, ale z konstruktorem jakos mi nie wychodzi (IMG:http://forum.php.pl/style_emoticons/default/mad.gif)
Próbowałem zarówno użyć __construct jak i NazwaKlasy przy przeciążaniu w __call i nic z tego. Czy ktos wie jak można przeciążyć konstruktor? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 1 Dołączył: 29.09.2008 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Można również stworzyć Fabrykę i jest to moim zdaniem najlepsze rozwiązanie dla tworzenia parametryzowanych obiektów. Rozdzielamy odpowiedzialność w czytelny i bardziej intuicyjny sposób.
CODE class Foo { public function __construct() { } } class FactoryFoo{ public function createFromArray($arr){ $objFoo = new Foo(); $objFoo->p1 = $arr['p1']; // itd return $objFoo; } public function createFromUser($user){ ... } public function createFromPOSTRequest($arrPost){ ... } // itd. } Unikamy stosowania 'if'. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 21:18 |