W języku PHP komentarz jednoliniowy rozpoczyna się od znaków
A. <! lub <?
B. /* lub //
C. // lub #
D. $ lub #
Pytanie z egzaminu CKE, styczeń 2023 (arkusz EE.09-SG-23.01).
W PHP komentarz jednoliniowy można rozpocząć znakami // albo #. Taki komentarz działa od miejsca, w którym się zaczyna, aż do końca bieżącej linii kodu. To jest bardzo praktyczne przy krótkich notatkach, szybkim wyłączeniu jednej instrukcji albo dopisaniu informacji, dlaczego dana linia robi coś nietypowego. Przykład: // pobranie danych z formularza albo # tymczasowo wyłączone sprawdzanie. Oba zapisy są poprawne składniowo w PHP, ale w praktyce branżowej częściej spotyka się //. Moim zdaniem warto trzymać się właśnie tego stylu, bo jest czytelny także dla osób pracujących w JavaScript, C, C++ czy Javie. Zgodnie z dobrymi praktykami, np. stylem kodowania PSR, komentarze powinny wyjaśniać intencję kodu, a nie przepisywać oczywiste instrukcje. Do dłuższych opisów stosuje się komentarze blokowe /* ... */ albo dokumentacyjne /** ... */, np. przy funkcjach i klasach. Ważne: komentarz // nie obejmuje następnej linii, więc jeśli chcesz zakomentować większy fragment, trzeba użyć kilku komentarzy jednoliniowych albo komentarza blokowego.
W tym pytaniu łatwo pomylić kilka różnych elementów składni PHP, bo część znaków faktycznie występuje w kodzie, ale pełni zupełnie inną rolę. Znak $ w PHP nie rozpoczyna komentarza, tylko nazwę zmiennej, na przykład $name albo $licznik. Jeśli ktoś kojarzy, że w PHP dużo rzeczy zaczyna się od dolara, to może przez rozpęd uznać go za element komentarza, ale parser PHP potraktuje go jako początek identyfikatora zmiennej. Sam znak # rzeczywiście może rozpocząć komentarz jednoliniowy, jednak odpowiedź z $ i # miesza poprawny symbol z niepoprawnym, więc całość nie jest właściwa. Podobnie zapis /* kojarzy się z komentarzem, ale nie jest komentarzem jednoliniowym. Rozpoczyna komentarz blokowy, który kończy się dopiero sekwencją */. Można nim opisać kilka linii kodu albo większy fragment, choć trzeba uważać, żeby przypadkiem nie zakomentować zbyt dużo. Z kolei // jest poprawnym początkiem komentarza jednoliniowego, ale zestawienie go z /* nie odpowiada dokładnie pytaniu. Znaki <? są związane z otwieraniem bloku kodu PHP, najczęściej w formie <?php, a nie z komentowaniem. Konstrukcje zaczynające się od <! należą raczej do świata HTML, np. deklaracji typu dokumentu lub komentarzy HTML w postaci <!-- ... -->, ale to nie jest komentarz PHP. Typowy błąd myślowy polega tu na wrzuceniu do jednego worka składni HTML i PHP. W pliku .php oba języki mogą występować obok siebie, ale ich komentarze są interpretowane inaczej, więc trzeba patrzeć, czy jesteśmy aktualnie wewnątrz kodu PHP.