Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: klasy i mysql
Forum PHP.pl > Forum > PHP
mikej
Piszę system portalowy do prywatnego użytku (chcę mieć możliość postawienia na nim kliku stron). Coraz bardziej zastanawiam się nad zastosowaniem klas, ale pojawiła się pewna wątpliwość:

Załóżmy, że napiszę klasę do łączenia się z bazą mysql. W głównej części skryptu tworzę nowy obiekt tej klasy, dzięki czemu mogę wysyłać zapytania do bazy.
Do tego skryptu dołączam (include/require) potrzebny w danym momencie moduł - np. obrazki.

W tym module mam klasę - np. images. Wewnątrz niej są funkcje - m.in. do dodawania obrazków do bazy danych. Czy wewnątrz tej funkcji jest widoczny utworzony na samym początku obiekt klasy obsługującej połączenia z bazą? Jeśli nie, czy powinienem w tej funkcji utworzyć nowy obiekt tej klasy? Czy w ogóle widoczna jest definicja tej klasy?

Plik index.php:
  1. <?php
  2. class sqlconnect {
  3. // jakies funkcje, etc.
  4. }
  5.  
  6. polaczenie = new sqlconnect;
  7. /...
  8. require_once(&#092;"obrazki.php\");
  9. //... ?>


Plik obrazki.php:
  1. <?php
  2. class images {
  3.  public insert(...jakies zmienne...) {
  4. //co mam tutaj zrobic??
  5. polaczenie->query(&#092;"INSERT... \");
  6.  }
  7. //inne funkcje, zmienne
  8. }
  9. //...
  10. ?>
Liko
W klasie images nie widzisz instancji klasy sqlconnect. Możesz stworzyć nową instancje obiektu, ale po co ? Zastosuj singleton. Więcej o nim znajdziesz wpisując właśnie tamte słowo chodźby do google, albo do szukarki na tym forum.
mikej
Dzięki. Poczytałem trochę o singletone i rzeczywiście - chyba będzie to najlepszym rozwiązaniem...
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.