Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zwracane wartości, jakieś koncepcje?
Forum PHP.pl > Forum > PHP
kidu
czesc wszystkim

Sytuacja wyglada tak: porzebuje napisac klase do obslugi uzytkownikow (cos a'la model w MVC). Mam w klasie metode GetUsersList() pobierajaca liste uzytkownikow. Jako interfejs polaczenia z baza uzywam ADOdb, mozliwe za 3 przypadki

- gdy jest przynajmniej jeden wiersz w wyniku
- gdy nie ma wierszy w wyniku
- gdy wystapil blad w czasie operacji

I nie bardzo wiem w jaki sposob elegancko zwracac odpowiednie dane. Robie to tak, ale to chyba nie najlepsze wyjscie:
  1. <?php
  2.  
  3. $sql = 'SELECT * FROM users';
  4. $set = $this->db->Execute($sql);
  5. if($set != FALSE && $set->RecordCount() > 0)
  6. {
  7. $vars = array();
  8. while(!$set->EOF)
  9. {
  10. $vars[] = $set->fields;
  11. $set->MoveNext();
  12. }
  13. return $vars;
  14. }
  15. else if($set != FALSE && $set->RecordCount() == 0)
  16. {
  17. return -1;
  18. }
  19. else
  20. {
  21. return NULL;
  22. }
  23.  
  24. ?>


Chcialbym wyraznie moc za pomoca zwroconej wartosci rozroznic ktory przypadek mial miejsce (bez sprawdzania dodatkowych warunkow). Macie na to jakies rozwiazania? Jakie i jak zwracac wartości w 2 pozostalych przypadkach, bo gdy sa wiersze w wyniku to zwracam poprostu tablice rekordow.

Z gory wielkie dzieki
rogrog
no jak nie masz wierszy w wyniku to możesz zwracać pustą tablicę albo null, a jak wystąpił błąd to false
kidu
moze i masz racje, i wtedy jesli sie nei myle do zidentyfikowania zwroconej wartosci na zewnatrz trzeba uzyc nie == tylko ===, czy tak?
rogrog
dokładnie tak. bo zarówno 0, null jak i false przy porówaniu są konwertowane i == da true. === porównuje typy
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.