Junior
Jaký je rozdíl mezi funkcemi require a include v PHP?
sobes.tech AI
Odpověď od AI
Rozdíly v zacházení s chybami při připojení souboru.
- require: Při chybě (soubor nenalezen nebo nedostupný) generuje fatální chybu (
E_COMPILE_ERROR), skript se ukončí. - include: Při chybě generuje varování (
E_WARNING), ale skript pokračuje v běhu.
| Funkce | Typ chyby při selhání | Pokračování v běhu |
|---|---|---|
| require | E_COMPILE_ERROR |
Ne |
| include | E_WARNING |
Ano |
Použití require je vhodnější pro kritické soubory (například konfigurace, knihovny), bez nichž je práce skriptu bezvýznamná. include je vhodné pro volitelné soubory (například šablony, widgety).
Existují také verze require_once a include_once, které kontrolují, zda byl soubor již připojen, a připojí jej pouze jednou.
<?php
// Příklad použití require
// Pokud soubor non_existent_critical_file.php neexistuje, skript se zastaví.
// require 'non_existent_critical_file.php';
// Příklad použití include
// Pokud soubor non_existent_optional_file.php neexistuje, bude varování,
// ale skript bude pokračovat.
// include 'non_existent_optional_file.php';
?>