Sobes.tech
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';

?>