PHP include – dołączanie zewnętrznych plików do kodu
Pisanie całego kodu w jednym pliku może być bardzo uciążliwe i czasochłonne. Do tego uniemożliwia korzystanie z ważnej zalety PHP – wielokrotnego użycia napisanych funkcji w różnych plikach. Co to oznacza w praktyce? Mając dwadzieścia podstron nie musimy już w każdej z nich zmieniać stopki czy nagłówka ręcznie! Wystarczy zmienić funkcję odpowiedzialną za wyświetlanie części kodu, a na każdej podstronie zobaczymy zmianę.
Zobaczmy praktyczny przykład użycia. Tworzymy plik funkcje.php:
<?php // definicja funkcji stopki function stopka() { <p>Prawa autorskie: Moja firma 2009</p> </body> </html> } ?>
Załóżmy, że tak wygląda nasza stopka w każdej podstronie. Żeby móc korzystać z tak zdefiniowanej funkcji na wszystkich stronach, niezbędne jest umieszczenie jej w pliku, który dołączymy do pozostałych. Plik zawierający funkcję stopka() nazwiemy funkcje.php. Wystarczy teraz użyć instrukcji include() lub require() (są niemal równoważne) by można było skorzystać z zadeklarowanej funkcji.
Poniżej przedstawię listing przykładowego pliku podstrona1.php:
<?php include("funkcje.php"); ?> <html> <head> <title>Przykład</title> </head> <body> <?php // przykładowa zawartość strony stopka(); // zastosowanie funkcji z zewnętrznego pliku ?>
PHP require – ten sam efekt, inna obsługa błędów
Include w PHP można stosować zamiennie z require. Require rzuci wyjątkiem FATAL_ERROR w przypadku niepowodzenia, natomiast include jedynie wyświetli Warning.
Co to oznacza w praktyce?
Require zastopuje wykonywanie skryptu PHP w momencie, gdy nie uda się znaleźć pliku.
Include wykona całość nawet, gdy plik nie zostanie dołączony.
Teraz, w zależności od krytyczności projektu, możesz świadomie zdecydować, z której skorzystasz. Zależy to głównie od tego, jak ważne jest powodzenie podczas dołączenia pliku i czy jest on niezbędny do prawidłowego funkcjonowania reszty kodu.
Include_once oraz Require_once
Istnieją jeszcze drobne modyfikacje powyższych dwóch komend załączających pliki. Noszą nazwy include_once() oraz require_once(). Różnią się od swoich odpowiedników wyłącznie tym, że mimo kilku wywołań w jednym skrypcie, plik zostanie załączony wyłącznie raz, co uchroni nas przed przypadkowym załączeniem jednego pliku kilka razy. Zachęcam do używania include_once() oraz require_once(), zamiast funkcji z początku lekcji.
To wszystko na temat korzystania z plików zewnętrznych. Następnym razem zajmiemy się tworzeniem oraz usuwaniem plików. Zapraszam!
Spis lekcji w rozdziale piątym
Poprzednia lekcja: Wysyłanie wiadomości e-mail | Następna lekcja: Tworzenie, otwieranie i usuwanie pliku |