Podręcznik PHP Poprzedni Następny Rozdział 9. Stałe Stała jest identyfikatorem (nazwą) dla prostej wartości. Jak sama nazwa wskazuje, wartość ta nie może się zmieniać podczas działania skryptu (poza wyjątkami: __FILE__ i __LINE__). Domyślnie, przy stałych uwzględniana jest wielkość liter. Przyjęto, że stałe są pisane dużymi literami. Nazwa stałej podlega takim samym zasadom jak każda inna w PHP. Prawidłowa nazwa stałej rozpoczyna się literą, znakiem podkreślenia ("_"), następnie mogą występować litery, cyfry lub znaki podkreślenia. Dobrze reprezentuje to takie wyrażenie regularne: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff ]* Notatka: Na nasze potrzeby, litery to a-z, A-Z, oraz znaki ASCII od 127 do 255 (0x7f-0xff). Zakres stałej jest globalny. Składnia Możesz definiować stałą używając funkcji define(). Kiedy stała zostanie zdefiniowana, nie może być już zmieniona albo undefined. Tylko skalarne typy danych (boolean, integer, double i string) mogą być zawarte w stałych. Możesz użyć wartości stałej poprzez zwykłe użycie jej nazwy. Inaczej niż przy zmiennych, w stałych NIE powinieneś prepend stałej znakiem $. Możesz także użyć funkcji constant(), aby odczytać wartość stałej, której nazwa jest przekazywana dynamicznie. Użyj funkcji get_defined_constants() aby otrzymać listę zdefiniowanych stałych. Notatka: Stałe i globlane zmienne są pisane inaczej, a to oznacza, że np. TRUE i $TRUE są różne. Jeśli użyjesz niezdefiniowanej stałej, PHP przyjmuje, że chcesz użyć nazwy stałej samej w sobie. Zostanie wtedy wysłane ostrzeżenie. Użyj funkcji defined() jeśli chcesz się dowiedzieć czy stała jest zdefiniowana. Różnice pomiędzy stałymi, a zmiennymi: Stałe nie mają znaku dolara ($) przed nazwą; Stałe mogą być definiowane oraz używane wszędzie bez zważania na zasady dotyczące zakresu ich dostępności; Stałe nie mogą być redefiniowane lub undefined po tym jak raz zostały zdefiniowane; i Stałe mogą zawierać tylko wartości skalarne. Przykład 9-1. Definiowanie stałych ?php define( "STALA", "Hello world !"); echo STALA; / / wyświetli "Hello world! "echo Stala; / / wyświetli "Stala" i zgłosi ostrzeżenie? Poprzedni Spis treści Następny Zmienne spoza PHP Początek rozdziału Predefiniowane stałe