Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dylemat dotyczący wydajności kodu klasy, nie wiem jaki typ metody będzie wydajniejszy
sebap123
post
Post #1





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
enviro
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 6.09.2011
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Tak jak napisał mój poprzednik, pisz tylko takie metody w klasie, z których będziesz korzystał.

Jednak co do optymalizacji Twojego zagadnienia. Wszystko zależy od tego, czy masz napisaną własną klasę do wykonywania zapytań, czy korzystasz z wbudowanych klas PHP.

Moja rada jest taka. Zbuduj własną klasę PHP i ustaw dziedziczenie z wykorzystywanej przez Ciebie klasy bazodanowej (np: MySQLi).
W klasie zbuduj metodę o nazwie "Update", która przyjmować będzie tablicę asocjacyjną zbudowaną na przykład tak:
  1. 'table' => 'users',
  2. 'data' => array(
  3. 'name' => 'tomek',
  4. 'id' => 34
  5. )
  6. );


I teraz w tej metodzie na podstawie danych z tablicy aktualizujesz tabelę `users` a w niej pole `name` na Tomek o `id` = 34. I nie potrzebujesz już pisać wyspecjalizowanych metod aktualizujących poszczególne elementy lub jednej wielkiej aktualizującej wszystkie elementy.

Zagadnienie kontroli danych. Tutaj poleciłbym stworzenie znowu odpowiedniej klasy i metod, które przyjmować będą w swoich parametrach dane o wartości jaką mają sprawdzić i pod jakim kątem ją sprawdzić.
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: 10.10.2025 - 22:58