Junior
Aký je rozdiel medzi funkciami require a include v PHP?
sobes.tech AI
Odpoveď od AI
Rozdiely v spracovaní chýb pri pripájaní súboru.
- require: Pri chybe (súbor nenájdený alebo nedostupný) generuje fatálnu chybu (
E_COMPILE_ERROR), skript sa ukončí. - include: Pri chybe generuje varovanie (
E_WARNING), ale vykonávanie skriptu pokračuje.
| Funkcia | Typ chyby pri zlyhaní | Pokračovanie v vykonávaní |
|---|---|---|
| require | E_COMPILE_ERROR |
Nie |
| include | E_WARNING |
Áno |
Použitie require je vhodnejšie pre kritické súbory (napríklad konfigurácie, knižnice), bez ktorých je práca skriptu bezvýznamná. include je vhodné pre voliteľné súbory (napríklad šablóny, widgety).
Existujú aj verzie require_once a include_once, ktoré kontrolujú, či bol súbor už načítaný, a načítajú ho iba raz.
<?php
// Príklad použitia require
// Ak súbor non_existent_critical_file.php neexistuje, skript sa zastaví.
// require 'non_existent_critical_file.php';
// Príklad použitia include
// Ak súbor non_existent_optional_file.php neexistuje, bude zobrazené varovanie,
// ale skript bude pokračovať.
// include 'non_existent_optional_file.php';
?>