Stała
Z PHPEdia.pl
Stała jest to wartość zdefiniowana tylko jeden raz. Nie można jej po tym nadpisać ani usunąć (nie dotyczy magicznych stałych) w przeciwieństwie do zmiennej. Może przyjmować jedynie wartości typu string, integer, boolean, float.
Nazwy stałych z reguły pisze się WIELKĄ LITERĄ, oddzielając niekiedy słowa kładką(_) czy cyframi. Nie jest zabronione oczywiście używanie małych liter czy MiEszAnYch.
Definiowanie stałej typu string:
define("STALA_STRING",'wartość stałej string');
Aby uzyskać wartość stałej należy odwołać się do niej po nazwie np:
define("WYGRANA",'Brawo wygrałeś.'); define("PRZEGRANA",'Przykro mi ale przegrałeś.'); $iGraczA=10; $iGraczK=rand(0,100); if ($iGraczA>$iGraczK) echo WYGRANA; else if ($iGraczA<$iGraczK) echo PRZEGRANA;
Jeżeli wartość zmiennej $iGraczK wyniesie 9 to wynik będzie następujący:
Brawo wygrałeś.
Nie można poprzedzić nazwy stałej znakiem dolara($) gdyż uczyni to ze stałej zmienną. Stała ma zasięg globalny
Jeżeli nie znamy nazwy stałej, bo jest ona np: zwracana przez funkcję lub przetrzymywana przez zmienną możemy jej wartość pobrać funkcją constant() jako parametr podając nazwę (zmienną z nazwą) np:
define("TEST",'Nie znana stała.'); $sNazwaStalej=TEST; echo constant($sNazwaStalej);
Aby uzyskać listę wszystkich zdefiniowanych stałych użyj funkcji get_defined_constants();
Jeszcze jedna ważna rzecz. Jeżeli próbujemy użyć zmiennej której wcześniej nie zdefiniowaliśmy parser php pomyśli że próbujemy użyć wartości typu string (TEST="TEST") To samo tyczy się tablic jeżeli spróbujemy odwołać się do $aTab[ABC] a stała ABC nie będzie użyta nie uzyskamy wartości $aTab["ABC"];
Powyższe operacje wywalą nam błąd E_NOTICE.
