Pełnią one taką samą funkcję jak zmienne, ale z jedną małą różnicą (której być może już się domyślasz). Stałej nie można zmieniać w czasie działania skryptu, raz zdefiniowana ma po prostu swoją jedną stałą wartość. Zasady nazewnictwa są takie same jak w przypadku zmiennych. Przyjęło się jednak, że nazwy stałych zapisujemy w całości wielkimi literami.
Stworzyć stałą możemy na dwa sposoby – przy użyciu define() lub const.
<?php
define('LANGUAGE', 'PHP');
echo LANGUAGE;
<?php
const LANGUAGE = 'PHP';
echo LANGUAGE;
W tej chwili powyższe przykłady zadziałają tak samo, jednak istnieje między nimi istotna różnica. define() możesz użyć w dowolnym momencie i tak zdefiniowana stała będzie dostępna w każdym miejscu skryptu. const z kolei ogranicza dostępność takiej stałej do miejsca gdzie została utworzona (przykładowo w danej klasie). Do szczegółów wrócimy kiedy indziej.
Predefiniowane stałe
Podobnie jak ze zmiennymi tak i mamy trochę od razu zdefiniowanych stałych – zobacz listę.
Są też specjalne tzw. magiczne stałe. Różnią się od zwykłych stałych tym, że zmieniają się podczas działania skryptu, ale dzieje się to automatycznie – my, jako programiści, nie mamy na nie wpływu, możemy tylko je odczytywać.
