Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> klasy i mysql
mikej
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 28.01.2005

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


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. ?>
Go to the top of the page
+Quote Post
Liko
post
Post #2





Grupa: Zarejestrowani
Postów: 436
Pomógł: 6
Dołączył: 8.11.2003
Skąd: Szczecin

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


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.

Ten post edytował Liko 28.01.2005, 19:38:44
Go to the top of the page
+Quote Post
mikej
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 28.01.2005

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


Dzięki. Poczytałem trochę o singletone i rzeczywiście - chyba będzie to najlepszym rozwiązaniem...
Go to the top of the page
+Quote Post

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: 24.08.2025 - 17:01