![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%) ![]() ![]() |
Witam,
Pisze właśnie klasę obsługującą konta użytkowników w serwisie. Generalnie każdy użytkownik jest wpisywany do trzech różnych tabel - jedna to ogólnie login, mail itp; druga to dane adresowe; a trzecia dane dotyczące blokad, pochwal itp. Teraz się zastanawiam, jak będzie lepiej napisać metody edytujące różne dane z tych tabel. Czy lepiej jest napisać parę "wyspecjalizowanych" metod, gdzie każda odpowiada za góra dwie-trzy komórki z jednej tabeli, czy np. jedną duża i ogólna metodę odpowiadającą za wszystko. Zaznaczam też, że nie wszystkie pola będą edytowane tak samo często jak pozostałe. Macie jakieś porady, czy to nie ma większego znaczenia? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Co do wydajności, to zawsze najszybciej będzie nie opakowywać tego, tylko używać php'owych funkcji.
Na szczęście w dzisiejszej dobie możesz pominąć kwestię wydajności (no chyba, że jest to jakiś rzeczywisty wymóg), ponieważ istotniejsza jest (szczególnie przy większych projektach) czytelność kodu, a z tego powodu warto skupić się na pisaniu obiektowym. Osobiście polecałbym ci jakiegoś ORM'a do obsługi tego wszystkiego, bo łatwiejsza do zrozumienia jest logika projektu. Opakowanie zapytania update w sposób, który zaproponował enviro wydaje mi się złym podejściem. User powinien być osobnym bytem i powinno to w kodzie wyglądać mniej więcej tak:
I już. Od razu widać co się dzieje - właśnie zostały zapisane dane użytkownika. Natomiast coś takiego:
Chyba nie wygląda zbyt elegancko i zmusza do zbytecznego wysiłku, aby zrozumieć co się tu dzieje:) Oczywiście gdzieś tam w końcu musisz wykonać ten update, ale albo zastosuj do tego ORM'y, bo już tam wszystko jest ładnie opakowane i raczej lepiej (przynajmniej szybko:) tego nie napiszesz, a jeżeli nie to wykonuj normalne query, bo to będzie szybsze. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 05:29 |