Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]zmienne vs. stałe
Forum PHP.pl > Forum > Przedszkole
Shady
Dręczy mnie pytanie... stałe są szybsze od zwykłych zmiennych, dlaczego tak rzadko je widzę w skryptach cms, for itp..?

nie lepiej np.
  1. define('DB_HOST', 'localhost'); //serwer
  2. define('DB_USER', 'root'); //użytkownik
  3. define('DB_PASS', 'ubuntu'); //hasło
  4. define('DB_NAME', 'game'); //nazwa bazy danych


zamiast
  1. $db_host = 'localhost';//serwer
  2. $db_user = 'root'; //użytkownik
  3. $db_pass = 'ubuntu'; //hasło
  4. $db_name = 'game'; //nazwa bazy danych


Proszę o rozwinięcie tematu. Szukałem, ale nie mogłem znaleźć żadnej podobnej dyskusji, tylko o zasięgu i "mocy", ale to wiem. Chodzi mi o to kiedy je stosować?
nospor
Stałe mają tę zaletę nad zmiennymi, że są widoczne wszędzie, nie trzeba się bawić w żadne globale.

Zaś z tą szybkością to chyba coś ci się pomyliło. Stałe powodują spowolnienie i lepiej nie nadużywać ich w skrypcie.
Ja stałych używam do określania ścieżek. Do danych bazy nie potrzebuję, bo do bazy mam obiekt, któremu to od razu przekazuje niezbędne dane
piotrooo89
stałych nie możesz zmieniać (nadpisywać) i są globalne.
irmidjusz
A o czym tu dyskutować? wink.gif Stałe z definicji reprezentują te informacje, które są niezmienne w czasie wykonywania i w takim właśnie celu należy je stosować.
Shady
Cytat(nospor @ 25.06.2012, 10:41:34 ) *
Stałe mają tę zaletę nad zmiennymi, że są widoczne wszędzie, nie trzeba się bawić w żadne globale.

Zaś z tą szybkością to chyba coś ci się pomyliło. Stałe powodują spowolnienie i lepiej nie nadużywać ich w skrypcie.
Ja stałych używam do określania ścieżek. Do danych bazy nie potrzebuję, bo do bazy mam obiekt, któremu to od razu przekazuje niezbędne dane


to widocznie coś źle pamiętam, wydawało mi się, że są szybsze i nurtowało mnie więc pytanie, dlaczego się ich nie stosuje tak często. no okeee, dzięki wink.gif

PS. wiem, że nie można ich zmieniać.. nie o to mi chodziło, czytać ze zrozumieniem..
viking
Standardowo można zmieniać za pomocą http://us.php.net/manual/en/function.runki...nt-redefine.php (jak wszystko w php)
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.