![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam,
zastanawiam się jak inicjować obiekty o wielu właściwościach. Dajmy na to mam produkt, który posiada 20 własności takich jak cena, nazwa, kategoria, marka itd itp. Czy lepiej przekazać dużą tablicę asocjacyjną do konstruktora, czy zainicjować pusty obiekt i potem wywołać serię poleceń typu $produtk->setName() itd. A może jest jeszcze jakiś inny patent? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
batman - też wydaje mi się, że przy dużych obiektach druga metoda jest lepsza. Stosowałem tablice, ale w gotowych rozwiązaniach widać jednak tendencję -> utwórz pusty/początkowy obiekt i następnie uzupełnij go parametrami. Chyba spróbuję stosować to rozwiązanie w przyszłości. Co prawda wymaga to pamiętania co trzeba "dodać" do obiektu, ale chyba jest to wygodniejsze niż stosowanie megatablic gdzie łatwo o pomyłki, które później trudno wyszukać. W obu przypadkach na pewno i tak trzeba zrobić metodę testującą poprawność obiektu
Nie wiem czy masz dokładnie to co ja na myśli, ale chyba najwygodniej będzie utworzyć kilka metod typu setPrice itd. Raczej nie będę korzystał z metody __set - jeśli chodzi o dane konfiguracyjne, to wolę mieć wszystko jawnie podeklarowane, z odpowiednimi metodami wymuszającymi odpowiednie typu parametrów itp. Przy wielu parametrach do ustawienia __set staje się bardzo nieczytelnym rozwiązaniem - ale to tylko moja opinia. Pozatym jawna deklaracja metod dostępowych daje możliwość podpowiadania składni w edytorze - nie wiem jak wy, ale ja z moją sklerozą bardzo cenię sobie ten feature (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Jakby ktoś jeszcze miał ciekawe sugestie to chętnie wysłucham. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 10:24 |