¿Se volverá a incluir el archivo o solo una vez?
myfile.php
se incluye solo una vez.
require_once 'myfile.php'; //included
include_once 'myfile.php'; // not included
¿Cuál es la diferencia entre los dos?
La diferencia entre include_once
y require
es que cuando no puede encontrar el archivo include_once
emitirá una advertencia y require
emitirá un error fatal.
require es idéntico para incluir, excepto en caso de error también producirá un error de nivel E_COMPILE_ERROR fatal. En otras palabras, detendrá la secuencia de comandos mientras que include solo emite una advertencia (E_WARNING) que permite que la secuencia de comandos continúe. [http://php.net/manual/en/function.require.php]
Requerir provoca un error en caso de fallo e incluyen intentos de recuperar? cualquier otra diferencia?
include
permite recuperar sí, un fallido require
declaración está terminando siempre en una dirección, un try
catch
no puede incluso salvar su guión.
Vale la pena señalar lo que sucedería si se utilizan otras combinaciones de las declaraciones provistas de evaluación de cuatro de archivo (include
, include_once
, y require
require
).
Si el archivo se encontraron
include
y require
siempre incluirá el archivo independientemente de si ya ha utilizado anteriormente require
, include
, require
o include_once
con el mismo archivo.
include_once 'myfile.php'; //included
include 'myfile.php'; //always included
require 'myfile.php'; //always included
require_once 'myfile.php'; // not included, prevously included via [function.include_once], [function.include] and [function.require]
include_once
y require
sólo incluirá el archivo si no se ha incluido previamente mediante un comunicado require
, include
, require
o include_once
.
require 'myfile.php'; //always included
include_once 'myfile.php'; // not included, prevously included via [function.require]