Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Statyczna własność
ayeo
post 28.09.2007, 12:37:22
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


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...

Ten post edytował harold1982 28.09.2007, 13:02:00


--------------------
Go to the top of the page
+Quote Post
domis86
post 28.09.2007, 16:32:49
Post #2





Grupa: Zarejestrowani
Postów: 255
Pomógł: 5
Dołączył: 20.03.2007
Skąd: Kraków

Ostrzeżenie: (30%)
XX---


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 06:23