Definowanie stałych

Stałe, czyli, jak wskazuje nazwa, dane nie zmieniające swojej wartości, tworzymy w następujący sposób: define('JAKAS_NAZWA', 'jakaś wartość').

Stałe w skryptach sklepu pojawiają się bardzo często. Właściwie cały folder catalog/ includes/ languages to zbiór plików z definicjami stałych. Podobny charakter mają ważne pliki catalog/ includes/ configure.php i filenames.php. Oto przykłady z pliku catalog/ includes/ languages/ polish/ contact_us.php:
define('ENTRY_NAME', 'Imię i Nazwisko:');
define('ENTRY_EMAIL', 'Adres E-Mail:');
define('ENTRY_ENQUIRY', 'Wiadomość:');
Oznacza to, że stała o nazwie ENTRY_NAME przyjmie wartość Imię i Nazwisko:, stała ENTRY_EMAIL wartość Adres E-Mail:, itd. Pojedynczy cudzysłów można zastąpić podwójnym.

Niekiedy definicje stałych są bardziej złożone, jak np. w pliku catalog/ configure.php:
  define('DIR_WS_INCLUDES', 'includes/');
  define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');
Pierwszą linijkę kodu odczytujemy jak w przykładzie powyżej. W drugiej stałej DIR_WS_BOXES przypisujemy wartość DIR_WS_INCLUDES . 'boxes/'. Jak to rozumieć?
- stała DIR_WS_INCLUDES jest napisana bez cudzysłowów, a więc zamiast niej podstawiana jest wartość zdefiniowana linijkę wyżej, tzn. includes/,
- kropka oznacza łączenie (w przybliżeniu dodawanie),
- po kropce do includes/, dołączana jest wartość boxes/, a więc cała wartość DIR_WS_BOXES to: includes/boxes/

Kolejny przykład wykorzystania stałych w praktyce. Oto fragment pliku catalog/ contact_us.php:
<tr>
        <td class="main"><?php echo ENTRY_NAME; ?></td>
 </tr>
Za ENTRY_NAME zostanie podstawiona wartość Imię i Nazwisko:, echo to funkcja PHP, która generuje i przesyła do przeglądarki odpowiedni kod html. W rezultacie, jeśli popatrzymy na kod źródłowy strony w przeglądarce, to powyższy fragment będzie wyglądał następująco:
<tr>
    <td class="main">Imię i Nazwisko:</td>
</tr>