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
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
Post #2





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

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


Nospor: ok, chyba rozumiem.
Nie chcę iść na łatwiznę - próbuję coś sam zrobić ale idzie jak po gruzie.
Przsepisałem to mając na uwadze to co piszesz:

  1. <?php
  2. // dodaję klasę EZ_SQL
  3. include_once "ez_sql.php";
  4.  
  5. //gdzieś tam w aplikacji tworzę sobie taki obiekt
  6. $db = new db(EZSQL_DB_USER, EZSQL_DB_PASSWORD, EZSQL_DB_NAME, EZSQL_DB_HOST);
  7.  
  8. //dalej klasa bez dziedziczenia db
  9. class Test2 {
  10. public $imie = 'imie jeszcze nie pobrane';
  11.  
  12. public function __construct($db, $id)
  13. {
  14. echo 'Jestem konstruktorem klasy Test2</br>';
  15. $zapytanie = $db->get_row("SELECT imienazwisko FROM tab_uzytkownicy WHERE id_uzytkownika=$id");
  16. $this->imie = $zapytanie->imienazwisko;
  17. }
  18. }
  19.  
  20.  
  21. //tworzymy nową instancję podając id intersującego nas użytkownika
  22. $osobnik = new Test2($db, 30);
  23. //wyświetlamy imię z bazy - pobrane w konstruktorze klasy
  24. echo $osobnik->imie;
  25.  
  26. ?>



Czy teraz dobrze? Lepiej?
Jeśli nie to prośba o pomoc, konkretny kod który by działał i był zgodny z zasadami.
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: 12.10.2025 - 06:07