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, oczywiście już uściślam:

Poniżej przykład fragmentu kodu, który na stronie wyświetla dane z bazy.
  1. $db->get_results("SET NAMES 'utf8'");
  2. $produkcja = $db->get_results("SELECT * FROM tab_zamowienia WHERE id_statusu BETWEEN '20' AND '70' ORDER BY id_zamowienia");
  3. echo '<h3 class="content-subhead"><i class="fa fa-building-o"></i> Zamówienia bieżące w produkcji</h3>
  4. <table>
  5. <thead>
  6. <tr>
  7. <th>ID <i class="fa fa-sort"></i></th>
  8. <th>Osoba <i class="fa fa-sort"></i></th>
  9. <th>Klient <i class="fa fa-sort"></i></th>
  10. <th>Status <i class="fa fa-sort"></i></th>
  11. </tr>
  12. </thead>';
  13. foreach ( $produkcja as $zamowienie )
  14. {
  15. echo "<tr>
  16. <td>".$zamowienie->id_zamowienia."</td>
  17. <td>".$zamowienie->osoba."</td>
  18. <td>".$zamowienie->klient."</td>
  19. <td>".$zamowienie->status."</td>
  20. </tr>";
  21. }
  22. echo "</table>";


Ponieważ używam tej tabeli kilka razy chciałem przenieść ten fragment do funkcji typu:
  1. function wyswietl_tabele(){
  2. $db->get_results("SET NAMES 'utf8'");
  3. $produkcja = $db->get_results("SELECT * FROM tab_zamowienia WHERE id_statusu BETWEEN '20' AND '70' ORDER BY id_zamowienia");
  4. echo '<h3 class="content-subhead"><i class="fa fa-building-o"></i> Zamówienia bieżące w produkcji</h3>
  5. <table>
  6. <thead>
  7. <tr>
  8. <th>ID <i class="fa fa-sort"></i></th>
  9. <th>Osoba <i class="fa fa-sort"></i></th>
  10. <th>Klient <i class="fa fa-sort"></i></th>
  11. <th>Status <i class="fa fa-sort"></i></th>
  12. </tr>
  13. </thead>';
  14. foreach ( $produkcja as $zamowienie )
  15. {
  16. echo "<tr>
  17. <td>".$zamowienie->id_zamowienia."</td>
  18. <td>".$zamowienie->osoba."</td>
  19. <td>".$zamowienie->klient."</td>
  20. <td>".$zamowienie->status."</td>
  21. </tr>";
  22. }
  23. echo "</table>";
  24. }



... i na głównej stronie wywoływać tylko kilka razy tę samą funkcję.
Niestety ten sposób nie działa, bo nie mogę wywołać klasy EZ_AQL wewnątrz funkcji, czyli "$db->get_results"
Jeśli coś jeszcze nie jasne proszę o informacje.
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: 14.10.2025 - 05:49