![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 15.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
Zmienne typu static powinny po pierwszym prezyjęciu wartości cały czas potem mieć tą samą wartość. Działa to dobrze z np singleton'ami ale czemu w tm przykładzie nie działa ?
Dodam ze w manulau nie ma o static wiec trudniej znalezc blad i mojha wiedza jest bardziej z przykładów. [php:1:0ac8a54207]<?php class DB { var $sql; function DB($server = null, $user = null, $password = null, $database = null) { var_dump($server, $user, $password, $database); // zmienne maja wartosc podana static $server, $user, $password, $database; var_dump($server, $user, $password, $database); // zmienne przymuja wartosc null $this->sql = mysql_connect($server,$user,$password) or die("Nie można sie polaczyc !!"); mysql_select_db($database) or die("Baza mysql nieistnieje !!"); return true; } function &getDBInstance() { static $DBinstance = null; if (!isset($DBinstance)) { $DBinstance = new DB(); } return $DBinstance; ?>[/php:1:0ac8a54207] } [php:1:0ac8a54207]<?php class test{ var ......; function test(){ $this -> db = &new DB($server, $user, $password, $database); var_dump($this); $this -> db = &DB::getDBInstance(); var_dump($this); } ?>[/php:1:0ac8a54207] |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:47 |