Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Statyczna własność
Forum PHP.pl > Forum > PHP > Object-oriented programming
ayeo
Witam!
Mam coś takiego:
  1. <?php
  2. class DataBase {
  3.  
  4. static function _getConnection() {
  5. static $hDB;
  6.  
  7. if (isset($hDB)) {
  8. return $hDB;
  9. }
  10.  
  11. $hDB = mysql_connect("localhost", "root", "haslo")
  12. or die ("Nie moge sie polaczyc");
  13. mysql_select_db("movie");
  14. return $hDB;
  15. }
  16.  
  17.  
  18. }
  19. ?>


Nie rozumiem działania tej statycznej zmiennej (własności)i w funkcji. Chodzi mi czy wartość zostanie zachowana i będzie dostępna przy kolejnym wywołaniu metody _getConnection? Na czym to dokładnie polega?

[edit] No sam sobie odpowiedziałem smile.gif zmienna zdeklarowana jako static zachowuje swoją watrość pomiedzy kolejnymi wywołaniami funkcji, sorry za to głupie pytanie, które jak się okazało ma niewiele wspólnego z OOP...
domis86
Nie ma to jak samoodpowiadający na siebie post tongue.gif

A te zmienne statyczne to sie czasem przydają - np tak jak w tym przykladzie :
Jest to klasa bazy danych. Metoda getconnection ma sie polaczyc z nia i zwrocic obiekt polaczenia. Mamy jednak jeden serwer bazy i jezeli zrobimy kilka takich klas to bez sensu sie laczyc za kazdym razem z ta sama bazą, wiec lepiej po pierwszym polaczeniu zachować obiekt polaczenia i go zwracac tylko nastepnym razem - tak jak sie tu wlasnie dzieje.

Zmienne statyczne mozna stosowac tez jako liczniki instancji danej klasy itp.
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.