Zmienne i stałe
Ostatnia modyfikacja: 01.06.2021
Zmienne to z pewnością ważny element programowania. A czym one są? Prosto mówiąc, są to takie miejsca na przechowywanie danych o przypisanych nazwach. Dzięki temu w dowolnym momencie (no prawie, temat zasięgów omówimy sobie później) możemy się do nich odwołać i odczytać lub zmienić ich wartość.
Zmienne w PHP rozpoczynają się od znaku dolara $
. Następnie podajemy nazwę zmiennej, która może składać się ze znaków od A do Z, liczb od 0 do 9 oraz znaku _. Co ważne nazwa nie może zaczynać się od cyfry, a co jeszcze ważniejsze, wielkość znaków w nazwach zmiennych jest rozróżniana.
<?php
$language = 'PHP';
echo $language;
W powyższym przykładzie użyliśmy operatora przypisania (znak =
, o operatorach powiemy więcej w jednej z kolejnych lekcji) i tym samym do zmiennej o nazwie language przypisaliśmy tekst PHP. Na koniec wyświetlamy zawartość zmiennej na ekran.
Jak nazywać zmienne?
Nazewnictwo zmiennych to wbrew pozorom istotna kwestia. Warto pisać nazwy zmiennych w języku angielskim, a już na pewno należałoby się trzymać tylko jednego języka. Kolejne wyrazy łączymy, zaczynając je od wielkiej litery - jest to tzw. zapis cammelCase - np. $favouriteLanguage
. Nie jest to oczywiście obowiązek, a dobra praktyka, wynikająca ze standardów PSR.
Ciekawostka
Standardy PSR określają między innymi styl w jakim powinniśmy pisać kod. Nie są to oficjalne standardy PHP, jednak są powszechnie wykorzystywane i uznawane przez wielu programistów. Stąd w kursie również będę starał się ich przestrzegać. Dokładne wytyczne co do wyglądu kodu opisuje standard PSR-12 (dawniej był to PSR-2, jednak ten został zdeprecjonowany i na jego bazie powstał zaktualizowany PSR-12).
Warto też, aby zmienna mówiła swoją nazwą, do czego służy. Znacznie ułatwia to interpretację kodu, już nawet nie mówiąc o innej osobie, ale po prostu Tobie, gdy po jakiejś chwili do niego wrócisz. Nazwy pokroju: $a
, $b
, $c123
, $i
czy nawet $dupa
nic nie mówią, ani nie sugerują, co to może być!
Predefiniowane zmienne
Jest kilka zmiennych, które są inicjowane automatycznie z określonymi wartościami. Większość z nich to tablice zawierające na przykład dane przesłane do skryptu, czy też informacje na temat wywołania i serwera.
Listę predefiniowanych zmiennych znajdziesz w dokumentacji. Nie będziemy ich teraz omawiać, ale część tych powszechnie stosowanych pojawi się gdzieś dalej w praktycznym użyciu.
Stałe
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, mamy trochę od razu zdefiniowanych stałych - zobacz listę.
Są też specjalne tzw. magiczne stałe (lista). 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ć.
Komentarze