PHP include, require: dołączanie plików

Coś jest niejasne? Wejdź na Forum PHP i uzyskaj pomoc

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