Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wywołanie klasy z funkcji - czy to możliwe?, Jak usprawnić pisanie aplikacji i mieć porządek w kodzie bez MVC.
tikky
post 6.02.2014, 15:33:13
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 2.10.2007

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


Witam,

Projektuję pewną aplikację w PHP/MySQL.
Od razu dodam, że nie jestem ekspertem, robię to na własne potrzeby i do obiektówki jeszcze nie dojrzałem.
Ogólnie wszystko działa jak trzeba ale robi mi się trochę bałagan w kodzie - miesza się HTML z PHP.

Wiem, że dobrą metodą jest oddzielenie warstwy wyświetlania, od kodu PHP ale nie bardzo wiem jak to zrobić.

I teraz aby sobie troche posprzątać, kod chciałem pewne rzeczy pochować do poszczególnych funkcji.
Problem mam wtedy gdy dana funkcja ma się łączyć z MySQL i pobierać jakieś dane.
Do połącznia z bazą używam klasy EZ_SQL (http://justinvincent.com/ezsql) i pojawiają mi się błędy gdy chcę
w środku mojej funkcji łączyć się z bazą za pośrednictwem klasy EZ_SQL. Czy to w ogóle możliwe?
Jak mogę to przeskoczyć? Jak to ułatwić, posprzątać?


Wiem, że najlepiej byłoby zrobić całóść w modelu MVC, mieć kontrolery, szablony itp. ale tak jak wspomniałem nie jestem programistą i na razie nie mam możliwości przerabiać wszystkiego od nowa.

Co mógłbym zrobić z kodem aby ułatwić sobie pracę i mieć porządek na etapie już istniejącego kodu?


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tikky
post 7.06.2014, 14:19:58
Post #2





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 2.10.2007

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


Nospor: Wracam do tematu programowania obiektowego i pozwolę sobie wrócić do pytania.
Czy poniższy rodzaj programowania i łączenia z bazą jest ok:

  1. //dołączenie pliku z klasą do połączenia z bazą - EZ_SQL
  2. include 'ez_sql.php';
  3.  
  4. class Klienci
  5. {
  6.  
  7. public function __construct()
  8. {
  9. //tworzę jeden obiekt do połączenia z bazą
  10. $db = new db(EZSQL_DB_USER, EZSQL_DB_PASSWORD, EZSQL_DB_NAME, EZSQL_DB_HOST);
  11. $this->baza = $db;
  12. }
  13.  
  14. function podajImie($id)
  15. {
  16. //tu już nie tworzę nowe połączenia tylko odnoszę się do istniejącego
  17. $db = $this->baza;
  18. $zapytanie = $db->get_row("SELECT imienazwisko FROM tab_uzytkownicy WHERE id_uzytkownika=$id");
  19. if($zapytanie==TRUE)
  20. $this->imie = $zapytanie->imienazwisko;
  21. else
  22. echo 'Błąd: nie ma usera o tym ID -';
  23. }
  24.  
  25. function podajFirme($id)
  26. {
  27. $db = $this->baza;
  28. $zapytanie = $db->get_row("SELECT id_firmy FROM tab_uzytkownicy WHERE id_uzytkownika=$id");
  29. echo $zapytanie->id_firmy;
  30. }
  31.  
  32. function dodajEmail($adres_email, $id)
  33. {
  34. $db = $this->baza;
  35. $zapytanie = $db->query("UPDATE tab_uzytkownicy SET mail = '$adres_email' WHERE id_uzytkownika=$id");
  36. echo 'dodano email';
  37. }
  38.  
  39. function ileKlientow()
  40. {
  41. $db = $this->baza;
  42. $ilosc = $db->get_var("SELECT count(*) FROM tab_uzytkownicy");
  43. echo "<br>W bazie jest: ".$ilosc." klientów";
  44. }
  45.  
  46. }
  47.  
  48. $osobnik = new Klienci;
  49. print($osobnik->podajImie(99));
  50. print($osobnik->podajFirme(30));
  51. $osobnik->dodajEmail("adres@serwer.pl", 23);
  52. $osobnik->ileKlientow();


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 01:32