Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przechowywanie identyfikatora połączenia., Klasa MySQL
starach
post
Post #1





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

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


Witam.
Mam klasę obsługującą połączenia z bazą danych.
Oprócz tego mam kilka innych klas które mają wykorzystywać w.w. klasę MySQL.
Nie mogę przecież dla każdej klasy inicjować nowego połączenia do bazy.
Jak mam przechowywać identyfikator połączenia żeby, nie musiał nawiązywać połączenia za każdym razem kiedy będę chciał z innej klasy odwołać się do metody query() pobierającej dane z bazy.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
starach
post
Post #2





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

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


Chyba już rozumiem.
  1. <?php
  2. //plik single_test5_php5.php
  3.  
  4. class test5 {
  5.  public $zmienna;
  6.  
  7.  protected __construct() {} // I oto nasza sztuczka
  8.  
  9.  public function singleton()
  10.  {
  11. static $instance;
  12. if(!isset($instance)) {
  13.  $instance = new test5;
  14. }
  15. return $instance;
  16.  }
  17. }
  18.  
  19. ?>
  20.  
  21. <?php
  22. //plik: test5.php
  23.  
  24. include('single_test5_php5.php'); // Includujemy powyzszy plik
  25.  
  26. $single1 = test5::singleton(); // Tworzymy 1 egzemplarz
  27. $single1->zmienna = 500;
  28. $single2 = test5::singleton(); // I drugi
  29. echo $single2->zmienna; // Wydrukuje 500
  30. // $single3 = new test5; // Wyrzuci blad (Fatal error) z braku dostepu do konstruktora
  31. ?>

Czyli $single1 będzie widoczne też w każdym miejscu skryptu.
Czy muszę ją przekazywać do innych obiektów czy mogę się bezpośrednio odwołać do tej zmiennej z wnętrza innej klasy ?
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: 13.10.2025 - 22:50