PHP ima dva ukaza, ki se lahko uporabita za pogojno vstavljanje kode iz zunanje datoteke:
require()
require_once()
Razlika med funkcijama include()
in require()
je v tem, da include()
poskuša nadaljevati izvajanje skripta tudi če vključena datoteka manjka za razliko od require()
, kjer je uporaba pogojna. Če datoteka manjka, PHP pogon ustavi izvajanje in javi usodno napako.
Funkcija require_once()
zagotavlja, da zunanja datoteka ne ponastavi nobenih spremenljivk, ki jim je bila pripisana nova vrednost kje drugje. Ker navadno v skripti zunanjo datoteko vključujemo le enkrat, se ta ukaz redko uporablja.
Vseeno je, kaj uporabimo za datotečno končnico za vključene datoteke. Splošni dogovor pa je, da se pri vključenih datotekah priporoča uporaba .inc.php
dvojne končnice za PHP vključitve.
Vedno moramo preveriti, če datoteka obstaja in je berljiva, preden jo poskušamo vključiti. Preveriti moramo tudi obstoj spremenljivk ali funkcij določenih v zunanjih datotekah, preden jih poskušamo uporabiti.
Primer menija, kot zunanje datoteke:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PHP: Require</title>
</head>
<body>
<a href="php.html">PHP Domov</a> |
<a href="zgledi-01-sintaksa.php">PHP Zgledi</a> |
<a href="primeri-01-random.php">PHP Primeri</a>
Koda strani, kjer meni vključimo kot zunanjo datoteko z ukazom require
:
<?php require("meni.inc.php"); ?>
<p>To je spletna stran, ki ima meni vstavljen,
kot zunanjo datoteko z ukazom <i>require</i>!</p>
</body>
</html>
To je spletna stran, ki ima meni vstavljen, kot zunanjo datoteko z ukazom require!
Koda HTML, ki jo uporabnik vidi v brskalniku:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PHP: Require</title>
</head>
<body>
<a href="php.html">PHP Domov</a> |
<a href="zgledi-01-sintaksa.php">PHP Zgledi</a> |
<a href="primeri-01-random.php">PHP Primeri</a>
<p>To je spletna stran, ki ima meni vstavljen,
kot zunanjo datoteko z ukazom <i>require</i>!</p>
</body>
</html>
V primeru, da zunanje datoteke ni, se izpiše na mestu, kamor želimo vstaviti datoteko obvestilo o napaki, izvajanje strani pa se ustavi.