Pliki dołączane PHP
Instrukcja include
(lub require
) pobiera cały tekst/kod/znacznik, który istnieje w określonym pliku i kopiuje go do pliku, który używa instrukcji include.
Dołączanie plików jest bardzo przydatne, gdy chcesz umieścić ten sam PHP, HTML lub tekst na wielu stronach witryny.
PHP zawiera i wymaga instrukcji
Możliwe jest wstawienie zawartości jednego pliku PHP do innego pliku PHP (zanim serwer go wykona), za pomocą instrukcji include lub require.
Oświadczenia include i require są identyczne, z wyjątkiem przypadków niepowodzenia:
require
spowoduje błąd krytyczny (E_COMPILE_ERROR) i zatrzyma skryptinclude
wygeneruje tylko ostrzeżenie (E_WARNING), a skrypt będzie kontynuowany
Tak więc, jeśli chcesz, aby wykonanie było kontynuowane i wyświetlało użytkownikom dane wyjściowe, nawet jeśli brakuje pliku dołączanego, użyj instrukcji include. W przeciwnym razie, w przypadku programowania FrameWork, CMS lub złożonej aplikacji PHP, zawsze używaj instrukcji require, aby dołączyć plik klucza do przepływu wykonywania. Pomoże to uniknąć naruszenia bezpieczeństwa i integralności aplikacji, na wypadek przypadkowego zagubienia jednego pliku klucza.
Dołączanie plików oszczędza dużo pracy. Oznacza to, że możesz utworzyć standardowy plik nagłówka, stopki lub menu dla wszystkich swoich stron internetowych. Następnie, gdy nagłówek wymaga aktualizacji, możesz zaktualizować tylko plik nagłówka.
Składnia
include 'filename';
or
require 'filename';
PHP zawiera przykłady
Przykład 1
Załóżmy, że mamy standardowy plik stopki o nazwie „footer.php”, który wygląda tak:
<?php
echo "<p>Copyright © 1999-" . date("Y") . " W3Schools.com</p>";
?>
Aby umieścić plik stopki na stronie, użyj include
instrukcji:
Przykład
<html>
<body>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
<?php include 'footer.php';?>
</body>
</html>
Przykład 2
Załóżmy, że mamy standardowy plik menu o nazwie „menu.php”:
<?php
echo '<a href="/default.asp">Home</a> -
<a href="/html/default.asp">HTML Tutorial</a> -
<a href="/css/default.asp">CSS Tutorial</a> -
<a href="/js/default.asp">JavaScript Tutorial</a> -
<a href="default.asp">PHP Tutorial</a>';
?>
Wszystkie strony w witrynie sieci Web powinny używać tego pliku menu. Oto jak można to zrobić (używamy elementu <div>, aby menu można było później łatwo stylizować za pomocą CSS):
Przykład
<html>
<body>
<div class="menu">
<?php include 'menu.php';?>
</div>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
</body>
</html>
Przykład 3
Załóżmy, że mamy plik o nazwie „vars.php” ze zdefiniowanymi zmiennymi:
<?php
$color='red';
$car='BMW';
?>
Następnie, jeśli dołączymy plik "vars.php", zmienne mogą być użyte w pliku wywołującym:
Przykład
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php include 'vars.php';
echo "I have a $color $car.";
?>
</body>
</html>
PHP zawiera a wymaganie
Instrukcja require
służy również do dołączenia pliku do kodu PHP.
Jest jednak jedna duża różnica między uwzględnianiem a wymaganiem; gdy plik jest dołączony do include
instrukcji i PHP nie może go znaleźć, skrypt będzie kontynuował wykonywanie:
Przykład
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php include 'noFileExists.php';
echo "I have a $color $car.";
?>
</body>
</html>
Jeśli wykonamy ten sam przykład za pomocą require
instrukcji, instrukcja echo nie zostanie wykonana, ponieważ wykonanie skryptu zostanie przerwane po tym
, jak require
instrukcja zwróciła błąd krytyczny:
Przykład
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php require 'noFileExists.php';
echo "I have a $color $car.";
?>
</body>
</html>
Użyj require
, gdy plik jest wymagany przez aplikację.
Użyj include
, gdy plik nie jest wymagany, a aplikacja powinna kontynuować pracę, gdy plik nie zostanie znaleziony.