Ukaza include in include_once
PHP omogoča vključevanje kode iz zunanjih datotek. Tak način je zelo uporaben, kadar želimo isto vsebino ali isto kodo uporabiti na več straneh, na primer pri menijih, glavi strani, nogi strani ali skupnih funkcijah.
Z vključevanjem zunanjih datotek zmanjšamo podvajanje kode, izboljšamo preglednost projekta in poenostavimo vzdrževanje spletne aplikacije.
Pomni: Zunanje datoteke vključujemo zato, da skupno kodo zapišemo samo enkrat, nato pa jo uporabljamo na več mestih.
Osnovna pravila
includevključi in izvede zunanjo datoteko na mestu, kjer je zapisan.include_oncedeluje podobno, vendar isto datoteko v istem izvajanju skripte vključi samo enkrat.- Pri vključevanju moramo uporabljati pravilne poti do datotek.
- Za dele kode, ki se lahko pojavijo večkrat ali niso obvezni za delovanje, pogosto uporabimo
include. - Za datoteke s funkcijami, razredi ali drugo kodo, ki ne sme biti vključena večkrat, uporabimo
include_once.
Pozor: Če pot do datoteke ni pravilna, PHP datoteke ne bo mogel vključiti. Zato je treba pri vključevanju vedno paziti na pravilno relativno ali absolutno pot.
Ukaz include
Ukaz include vključi in izvede zunanjo datoteko na mestu, kjer je zapisan. Tako lahko isto datoteko uporabimo na več straneh in se izognemo ponavljanju enake kode.
Ta ukaz je primeren predvsem za skupne dele strani, ki niso nujno obvezni za samo izvajanje programa, na primer za meni, glavo strani, nogo strani ali nekatere skupne izpise.
Pomni: Ukaz include je primeren za vključevanje skupnih delov strani, kot so meni, glava strani, noga strani ali drugi ponavljajoči se deli HTML in PHP kode.
Ukaz include_once
Ukaz include_once deluje podobno kot include, vendar poskrbi, da se ista datoteka v istem izvajanju skripte vključi samo enkrat.
To je posebej uporabno pri datotekah s funkcijami, razredi, konstantami ali drugimi elementi, ki jih ne smemo vključiti večkrat, ker bi to lahko povzročilo napake.
Primerjava include in include_once
| Lastnost | include |
include_once |
|---|---|---|
| Osnovni namen | vključevanje zunanje datoteke | vključevanje zunanje datoteke samo enkrat |
| Večkratna vključitev iste datoteke | je mogoča | je preprečena |
| Primerna uporaba | meni, glava, noga, skupni izpisi | funkcije, razredi, konstante, skupna logika |
Pomni: Glavna razlika je v tem, da include_once prepreči večkratno vključitev iste datoteke.
Pot do vključene datoteke
Datoteke vključujemo glede na podano pot. Zato je priporočljivo uporabljati jasne, pregledne in dosledne poti do zunanjih datotek.
Končnica vključene datoteke ni posebej določena z jezikom. Najpomembneje je, da je pot pravilna in da je projekt pregledno organiziran.
Pozor: Napačno zapisana pot je eden najpogostejših vzrokov, da vključevanje datoteke ne uspe.
Primer zunanje datoteke z menijem
<a href="php.php">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:
<?php include "meni.php"; ?>
<p>To je spletna stran, ki ima meni vstavljen kot zunanjo datoteko z ukazom <code>include</code>.</p>
Pomni: Ko spremenimo vsebino zunanje datoteke, se sprememba pokaže na vseh straneh, ki to datoteko vključujejo.
To je spletna stran, ki ima meni vstavljen kot zunanjo datoteko z ukazom
include. Obseg spremenljivk in vključene datoteke
Ko vključimo datoteko, se ta izvede v dosegu mesta, kjer je vključena. To pomeni, da lahko uporablja spremenljivke, ki so na voljo na tistem mestu v programu.
Funkcije in razredi, ki so definirani v vključeni datoteki, pa so po uspešni vključitvi na voljo tudi v nadaljnji kodi.
Pozor: Pri vključevanju je treba paziti, katere spremenljivke so na voljo na mestu vključitve, saj to vpliva na delovanje vključene datoteke.
Ko datoteka manjka
Če pri ukazu include datoteka ne obstaja ali je ni mogoče vključiti, PHP izpiše opozorilo, preostali del skripte pa se praviloma še naprej izvaja.
To pomeni, da include ni primeren za datoteke, brez katerih program ne more pravilno delovati.
Pozor: Ukaz include ob manjkajoči datoteki praviloma ne ustavi izvajanja skripte. Zato ga ne uporabljamo za obvezne datoteke.
To je spletna stran, ki skuša vključiti manjkajočo datoteko z ukazom
include. Priporočila
- Za skupne dele strani, ki niso obvezni za delovanje, uporabljamo
include. - Za datoteke, ki jih smemo vključiti samo enkrat, uporabljamo
include_once. - Pri projektu uporabljamo pregledne poti do datotek.
- Skupno kodo smiselno ločimo v zunanje datoteke, da je program preglednejši.
- Pri vključevanju datotek nikoli ne zaupamo neposredno uporabniškemu vnosu.
Pomni: Dobro organizirane zunanje datoteke olajšajo vzdrževanje, posodabljanje in ponovno uporabo kode.
Pozor: Neposredno vključevanje datotek na osnovi nepreverjenega uporabniškega vnosa lahko povzroči resne varnostne težave.
Pogoste napake
- Pot do vključene datoteke je zapisana napačno.
- Za datoteko, ki se ne sme vključiti večkrat, se uporabi
includenamestoinclude_once. - Pričakuje se, da bo ukaz
includeob napaki ustavil izvajanje skripte. - Vključevanje datotek temelji na nepreverjenem uporabniškem vhodu.
- Struktura projekta ni dovolj pregledna, zato so poti do datotek nepregledne ali nedosledne.
Pozor: Napačna izbira ukaza ali nepregledna organizacija datotek lahko povzroči napake, ki jih je v večjih projektih težje odkriti.
Sklep
Ukaza include in include_once omogočata preglednejšo, krajšo in lažje vzdrževano kodo. Uporabljamo ju za vključevanje skupnih delov programa, pri čemer moramo paziti na pravilne poti, ustrezno izbiro ukaza in varnost pri vključevanju datotek.