Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] jedna zmienna dla wielu klas (?)
Forum PHP.pl > Forum > Przedszkole
peter13135
mam skrypt pisany pseudo-obiektowo (bo przezemnie) mam między innymi takie klasy jak news, articles, menu - wszystkie korzystają z bazy mysql, chciałbym aby przy każdym zapytaniu do sql, zwiększała sie o 1 zmienna o nazwie dla przykładu $sql_num, aby wiedzieć ile zapytań wykonał skrypt,

w jaki sposób zrobić tą zmienną, aby wszystkie klasy ją "rozpoznawały" questionmark.gif obawiam sie że nie wystarczy dać $sql_num++
Wicepsik
Możesz to w tablicy zrobić.
$sql_num[0] - pierwsza klasa
$sql_num[1] - druga klasa
A potem zliczasz ;p

Pewnie głupi pomysł ;p
sowiq
Cytat(peter13135 @ 3.06.2009, 20:50:25 ) *
wszystkie korzystają z bazy mysql
Korzystają z klasy do MySql? Bo jeśli tak, to w tej klasie robisz sobie dodatkową zmienną, a metodzie wykonującej zapytanie robisz ++ $zmienna i już.
Jeśli nie, to zawsze możesz zastosować jakąś zmienną globalną.
peter13135
heh, ja to zrobiłem klase o nazwie conf, i w niej są dane do bazy, można by tak do tej klasy dodać zmienną, bo każda klasa korzysta z tej klasy ;], a czy jak dam w każdej klasie public $zmienna, to czy te wszystkie klasy będą uważały tą zmienną jako jedną, czy każda klasa bedzie miała swoją zmienną o tej samej nazwie questionmark.gif (wiem że bez sensu wytłumaczyłem ale liczę że sie domyślicie tongue.gif)
zegarek84
skoro tamta klasa jest konfiguracyjna to zależy jak masz dowiązaną do pozostałych...

następne pytanie to tą zmienną będzie traktowało osobno jako inną

jeśli masz to dobrze zrobione to w podstawowej klasie zrób zmienną statyczną i przy wywołaniu zwiększaj o 1 - a jeśli nie za bardzo to zrób klasę np. licznik ze zmienną statyczną licznik i tam gdzie trzeba poprostu odwołaj się licznik::$ile+=1 (jeśli jest publiczna - lub zrób odpowiednią metodę pod tą zmieną do klasy - do zmiennej statycznej odwołujesz się przez self)

taka klasa chyba lepsza od zmiennej globalnej - no choć i po to też zrobione są zmienne globalne winksmiley.jpg
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.