Add to Google Reader or Homepage Prihlásiť sa k odberu RSS

Diskusia k článku

Rozdiel medzi funkciami include a requireZobraziť článok

masko
Dátum a čas 23. 02. 2011, 16:20

to sa naozaj mylis...:-)

precitaj si rozdiel medzi

require a require_once

a

include a include_once

xyxy
Dátum a čas 23. 02. 2011, 16:07 E-mail xy [a] xy.sk

To je sice pravda co si napisal ale podla mna to hlavny rozdiel nieje. Rozdiel je v tom ako sa to sprava v cykloch. Require sa nacita v cykle len raz. Include sa nacitava stale dokial cyklus nedobehne.

Naspäť naspäť

Pridať komentár

Koľko je na ruke prstov?

Náhľad článku

Rozdiel medzi funkciami include a require

Rozdiel medzi PHP funkciami include a require je mnohým začiatočníkom zväčša nejasný. S touto banálnou otázkou som sa viackrát stretol aj na pracovných pohovoroch a bol som prekvapený, že aj pokročilí kodéri, snažiaci sa o relatívne zodpovednú pracovnú pozíciu nevedia správne odpovedať. Pritom rozdiel vo funkčnosti vyplýva už priamo z názvu oboch funkcií.

REQUIRE a REQUIRE_ONCE
Require je funkcia, ktorá VYŽADUJE nalinkovaný súbor a pokiaľ tento súbor nebude nájdený, beh skriptu sa UKONČÍ chybovou hláškou. Rozdiel medzi require a require_once by mal byť opäť jasný už z názvu. Require_once nalinkuje súbor iba raz a opätovne sa už o to nepokúša, aj keď je táto funkcia volaná povedzme v cykle s desiatimi opakovaniami.

INCLUDE a INCLUDE_ONCE
Include narozdiel od Require nalinkovaný súbor NEVYŽADUJE. To znamená, že pokiaľ tento súbor z nejakého dôvodou nebude existovať, vypíše sa síce chybová hláška, že funkcia include nevedela nájsť daný súbor, ale beh skriptu POKRAČUJE ďalej.

<?
require dirname(__FILE__).'/subor.php';
// pokiaľ súbor neexistuje, beh skriptu sa ukončí chybovou hláškou.
 
include dirname(__FILE__).'/subor.php';
// pokiaľ súbor neexistuje, vypíše sa chybové hlásenie, ale beh skriptu pokračuje ďalej.
?>

POUŽITIE
Správne výber medzi použitím include a require je dôležitý z hľadiska bezpečnosti aplikácie. Prostredníctvom funkcie require by mali byť nalinkované súbory, ktoré sú NEVYHNUTNÉ pre správny a bezpečný chod. Teda napríklad nejaké triedy zabezpečujúce autentifikáciu uživateľa, pripojenie k databáze a pod.
Naopak, include je vhodné použiť pri takých súboroch, ktoré nepredstavujú žiadne bezpečnostné riziko, ako je napríklad includnutie súboru s anketou a pod.
Z praktického hľadiska by však malo byť jedno, či použijete include alebo require, pretože v každom prípade by nalinkovaný súbor MAL existovať.

RSS