Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: PHP

Wywołanie exit(); w skrypcie PHP powoduje

A. przerwanie tylko bieżącego przebiegu pętli
Źle. Bieżący przebieg pętli przerywa continue, a całą pętlę break.
B. zamknięcie połączenia z bazą danych i dalsze wykonywanie skryptu
Źle. Połączenie zamyka mysqli_close, po którym skrypt działa dalej. Exit kończy cały skrypt.
C. wyświetlenie informacji o konfiguracji serwera PHP
Źle. Exit nie wyświetla konfiguracji serwera. Wypisuje najwyżej przekazany mu komunikat.
D. zakończenie wykonywania skryptu w tym miejscu
Dobrze. exit (i jego alias die) kończy skrypt, a kod zapisany niżej się nie wykona.

exit kończy wykonywanie skryptu w miejscu wywołania. Kod zapisany niżej już się nie wykona, a przeglądarka dostaje to, co skrypt zdążył wypisać. Można przekazać komunikat, który zostanie wypisany przed zakończeniem: exit("Brak dostępu");. Alias die działa identycznie.

Typowe zastosowania to przerwanie po przekierowaniu header("Location: logowanie.php"); exit; oraz zatrzymanie strony, gdy nie udało się połączyć z bazą: mysqli_connect(...) or die("Błąd połączenia");. Przy zakończeniu PHP i tak zwalnia zasoby, m.in. zamyka połączenia, i wywołuje zarejestrowane funkcje zamykające.

W PHP 8.4 exit stał się zwykłą funkcją, ale sposób użycia pozostał ten sam.

Łatwo pomylić exit z instrukcjami, które przerywają tylko fragment kodu. Bieżący przebieg pętli kończy continue, całą pętlę break, a funkcję return. Po każdej z nich skrypt działa dalej, a po exit już nie.

Zamknięcie połączenia z bazą to zadanie mysqli_close($db), po którym skrypt normalnie wykonuje kolejne instrukcje. Exit zamyka połączenie tylko pośrednio, bo kończy cały skrypt.

Informacje o konfiguracji serwera, czyli wersję PHP, załadowane rozszerzenia i ustawienia z pliku php.ini, wypisuje osobna funkcja diagnostyczna. Exit niczego nie wyświetla poza komunikatem, który sam mu przekażesz.

Zapamiętaj hierarchię: continue przerywa przebieg pętli, break całą pętlę, return funkcję, a exit cały skrypt. Po exit nie wykonują się już żadne instrukcje zapisane dalej, także kod HTML umieszczony poniżej w tym samym pliku PHP.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.