Junior
Qual é a diferença entre as funções require e include em PHP?
sobes.tech IA
Resposta da IA
Diferenças na gestão de erros ao conectar um ficheiro.
- require: Quando ocorre um erro (ficheiro não encontrado ou inacessível), gera um erro fatal (
E_COMPILE_ERROR), e a execução do script é interrompida. - include: Quando ocorre um erro, gera um aviso (
E_WARNING), mas a execução do script continua.
| Função | Tipo de erro em caso de falha | Continuação da execução |
|---|---|---|
| require | E_COMPILE_ERROR |
Não |
| include | E_WARNING |
Sim |
O uso de require é preferido para ficheiros críticos (por exemplo, configuração, bibliotecas), sem os quais o trabalho do script não faz sentido. include é adequado para ficheiros opcionais (por exemplo, modelos, widgets).
Existem também as versões require_once e include_once, que verificam se o ficheiro já foi incluído e só o incluem uma vez.
<?php
// Exemplo de uso de require
// Se o ficheiro non_existent_critical_file.php não existir, o script irá parar.
// require 'non_existent_critical_file.php';
// Exemplo de uso de include
// Se o ficheiro non_existent_optional_file.php não existir, será exibido um aviso,
// mas o script continuará.
// include 'non_existent_optional_file.php';
?>