Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Konstrukcja obiektów, jakie podejście dla obiektów o wielu właściwościach
athabus
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Ja również jestem zwolennikiem przesyłania danych "zapakowanych" w małe obiekty.
W znaczący sposób ułatwia to sprawdzanie poprawności wprowadzanych danych, a także odwoływanie się do nich.

Chciałbym jednak zwrócić uwagę na jedną rzecz. Bezsensowne wydaje mi się w takiej sytuacji korzystanie z _get i _set - ponieważ sami pozbywamy się mechanizmu do wykrywania literówek w nazwach atrybutów.

Nie lubię jednak tworzenia dziesiątek metod typu
setName( $sName ){
$this ->sName = $sName;
}
Dlatego zazwyczaj rezygnuję z ich tworzenia wszędzie tam, gdzie nie są potrzebne jakiekolwiek operacje wykonywane podczas pobierania lub wprowadzania danych.
Zamiast tego deklaruję te atrybuty jako publiczne, a dzięki temu przy włączonym E_ALL odrazu dostaję informację o próbie utworzenia atrybutu, który nie został zdefiniowany.

ps. No i ma się wartości domyślne (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 13:32