Objekt-overvejelser
Jeg har lavet en omfattende community-side hvor jeg nu er stødt ind i nogle overvejelser angående anvendelsen af klasser/objekter.Jeg har strukturmæssige årsager forsøgt at omdanne min kode til noget mere objekt-baseret. Alle funktioner der behandler brugere er smidt ned i user-objektet. HVis man fx vil printe en brugers navn (formateret som et link til brugerens profil) skriver man
$test = new user;
$test->output(array("user_id" => $user_id, "username" => $username));
Det virker fint!! Men det er jo - som jeg har forstået det - ikke "rigtig" OOP. Det er bare en simpel kategorisering af funktioner i klasser.
Jeg er derfor begyndt, at tænke i nye baner. Jeg har nogle gange behov for at "behandle" flere brugere af gangen og i den forbindelse kunne det være smart, hvis man omskrev user-objektet til at kunne behandles således:
$user1 = new user(array("user_id" => $user_id, "username" => $username));
$user2 = new user(array("user_id" => $user_id2, "username" => $username2));
print $user1->output();
print $user2->output();
do_something_with_users($user1, $user2);
Det er jo også fint - ganske flot struktur, meget logisk og nemt at behandle flere brugere! Fedt!
Men så kommer 100 kroners spørgsmålet... ville denne opbygning være betydeligt performance-dræbende i sig selv? Og hvad hvis man skal printe 200 brugere på en side? Så skal der jo oprettes 200 instances af users. Måske kan dette problem så afhjælpes ved at destroy'e objekterne når man er færdige med at bruge dem.
Tanker, svar, forslag, erfaringer og lign. er meget velkommen! :)
