Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MVC]Czy to już to?
Forum PHP.pl > Forum > PHP
daniel1302
Witam,
czy ten skrypt zalicza się do skryptu zgodnego z wzorcami MVC?
Funkcje hexpass oraz safe email są w innym pliku pokazuje je tylko dla tego tematu
  1. <?php
  2. function safeEmail($str)
  3. {
  4. $pattern = '/^[a-zA-Z0-9.-_]+@[a-z0-9]+.([a-z]+){2,4}$/';
  5. if (!preg_match($pattern, $str))
  6. {
  7. return false;
  8. }
  9. else
  10. {
  11. return true;
  12. }
  13. }
  14. function hexPass($str)
  15. {
  16. $str = md5('Damned'.$str.'Land');
  17. $str = sha1('PHP5.///-0-'.md5($str).'-0-.5PHP');
  18. $str = md5($str);
  19. return $str;
  20. }
  21. class LoginModel
  22. {
  23. static public function getData($email, $pass)
  24. {
  25. $result=@mysql_fetch_assoc(mysql_query("SELECT id FROM players WHERE email='".safeEmail($email)."' AND pass='".hexPass($pass)."'"));
  26. return (!isset($result['id'])) ? false : $result;
  27. }
  28. }
  29.  
  30.  
  31. Class LoginView
  32. {
  33. static public function getVista($tpl, $actionFile)
  34. {
  35. $tpl->assign('actionFile', $actionFile);
  36. $tpl->parse('login.tpl');
  37. }
  38. }
  39.  
  40. class LoginController
  41. {
  42. static public function Loging ($email, $pass)
  43. {
  44. $test=LoginModel::getData($email, $pass);
  45. if ($test == false)
  46. {
  47. return false;
  48. } else
  49. {
  50. return $test['id'];
  51. }
  52. }
  53. }
  54. ?>
qqrq
Może się mylę smile.gif , ale wydaje mi się, że kod, który dałeś w "widoku" powinien być w "kontrolerze". Widok to sam szablon - ja to przynajmniej tak rozumiem...
Sedziwoj
@qqrq

Nie myl widoku z systemem szablonów, widok to pewien ściśle określony interfejs dzięki któremu kontroler przekazuje dane do niego. Co widok z nimi zrobi kontrolera nic nie obchodzi. Najczęściej będzie to wykorzystanie jakiegoś systemu szablonów, np. Smarty i wygenerowanie html i wyświetlenie, ale równie dobrze może być to zapis danych do pliku xml, czy cokolwiek. (to może nie jest dokładnie to co niektórzy uważają za MVC ale tak w aplikacjach web'owych się zazwyczaj przyjmuje.)

Co do kodu to raczej autorowi doradzam naukę postaw, a potem zabawę z tworzeniem czegoś większego.
A czemu? chociażby safeEmail() zwraca boolean a jest wykorzystywane w kwerendzie jako string. (jedna z wielu rzeczy które rażą)
daniel1302
Właśnie się zorietowałem
$email=(safeEmail($email)==true) ? $email : 'Zły mail';

Ale chodzi mi o budowe klasy bardziej
Sedziwoj
Cytat(daniel1302 @ 19.03.2008, 11:52:07 ) *
Właśnie się zorietowałem
$email=(safeEmail($email)==true) ? $email : 'Zły mail';

Ale chodzi mi o budowe klasy bardziej


- czy to jest ładny samochód?
- ale on nie ma kół
- oj to drobny szczegół, ale ładny?

Jak piszesz to pisz coś porządnie.
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.