środa,
Dołączanie plików
Aby usprawnić proces tworzenia aplikacji, programiści unikają tworzenia liczących wiele tysięcy wierszy pojedynczych plików i stosują podział na logicznie skonstruowane mniejsze pliki stanowiące moduły i biblioteki. Obecność funkcjonalnych komponentów pozwala na korzystanie z nich bez potrzeby wprowadzania zmian w wielu różnych projektach. Daje to wiele innych korzyści, np. w przypadku wykrycia błędu w bibliotece funkcji we wszystkich aplikacjach zbudowanych z jej zastosowaniem wystarczy zaktualizować na skorygowaną wersję jeden plik bez konieczności prowadzenia dogłębnych testów. Mając gotowe biblioteki, programista może skupić się na logice aplikacji, nie musi za każdym razem tworzyć np. mechanizmów obsługi bazy danych.
Standardowe dołączanie plików
Podstawową instrukcją dołączania plików jest include. Pozwala ona na dołączenie zawartości zewnętrznego pliku w miejscu jej wystąpienia w podobny sposób jak w przypadku kopiowania i wklejania. Jedyna istotna różnica występuje w przypadku dołączania z zewnętrznego pliku kodu PHP, musi on zawierać ograniczniki (). Instrukcja include nie wymaga stosowania nawiasów, jednak ich obecność nie wywołuje błędu.
Zawartość dołączanego pliku o nazwie get_time.inc.php.
<?php
echo date('H:i:s');
?>
W powyższym pliku wyświetlana jest aktualna godzina, minuta i sekunda. Poniżej plik get_time.inc.php dołączono dwukrotnie, w tym raz z wykorzystaniem nawiasów. Funkcja sleep() powoduje zatrzymanie wykonywania skryptu na przekazaną argumentem liczbę sekund.
include 'get_time.inc.php';
sleep(5);
include('get_time.inc.php');
Instrukcja require jest bardzo podobna do include, istnieje jednak pewna istotna różnica. W przypadku wywołania zakończonego niepowodzeniem (np. brak dostępu do dołączanego pliku) generuje ona błąd krytyczny i blokuje wykonywanie skryptu. W takiej sytuacji include generuje tylko ostrzeżenie, a kod PHP nadal jest wykonywany.
require 'get_time.inc.php';
Jednokrotne dołączanie pliku
W większych aplikacjach pliki dołączane są w wielu miejscach. Aby uniknąć możliwości dołączania kilkukrotnie tego samego pliku, można posłużyć się specjalnymi wersjami prezentowanych instrukcji w postaci include_once lub require_once. Działają one podobnie jak pierwowzory, jedyną różnicą jest blokada operacji ponownego dołączania tego samego pliku.
include_once 'get_time.inc.php';
// poniżej plik nie zostanie dołączony
include_once 'get_time.inc.php';
Dodatkowe informacje
W wywołaniach instrukcji dołączających pliki można posługiwać się względnymi lub bezwzględnymi ścieżkami. Dodatkowo w pliku konfiguracyjnym php.ini można za pomocą opcji include_path określić katalogi, w których wyszukiwane są pliki. Opcje konfiguracyjne auto_prepend_file i auto_append_file pozwalają dołączać pliki do skryptów automatycznie. Opcji związanych z dołączaniem plików w php.ini jest więcej. Stosowanie niektórych katalogów lub plików w skryptach PHP może być niemożliwe ze względów bezpieczeństwa albo w efekcie ustawionych praw dostępu.