Require() vs include() e require_once() vs include_once()

  • Autor Autor hector150293
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
H

hector150293

Curioso
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Vamos a ver las diferencias entre estas cuatro sentencias que PHP usa para importar normalmente una sección de código, donde por ejemplo podríamos tener almacenadas las funciones para el correcto funcionamiento de la web.

include 'file.php';
require 'file.php';
include_once 'file.php';
require_once 'file.php';


Todas importan código desde dicho archivo PHP.
¿Entonces que diferencia hay entre utilizar include() o require()? ¿Tengo que utilizar include() o include_once()?

require() vs include()

require() establece que el código del archivo invocado es requerido, es decir, obligatorio para el funcionamiento del programa. Por ello, si el archivo especificado en la función require() no se encuentra saltará un error “PHP Fatal error” y el programa PHP se detendrá.

include(), por el contrario, si no se encuentra dicho código, saltará un error tipo “Warning” y el programa seguirá ejecutándose (aunque como consecuencia de no incluirse el código puede que no funcione correctamente, o sí, depende de la situación).

require_once()/include_once() vs require()/include()

Las versiones require_once() e include_once() funcionan de la misma forma que sus respectivos, salvo que, al utilizar la versión _once, se impide la carga de un mismo archivo más de una vez.

Si incluimos el mismo código más de una vez corremos el riesgo de redeclaraciones de variables, funciones o clases. Es lógico pensar que por ello, es mejor siempre utilizar la versión _once. Si embargo, has de saber que estas versiones son más pesadas y consumen más recursos y por ello hay que utilizarlas sólo cuándo sea necesario.
 
Última edição:
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
No son funciones (error muy común), son sentencias. Aunque funcionan si las usan como funciones.

Esto es, su sintaxis correcta es:
PHP:
include 'file.php';
require 'file.php';
include_once 'file.php';
require_once 'file.php';

Saludos.
 
Tienes razón... Gracias
 
hector150293, mil gracias por su aporte
 
Voltar
Topo