2010-09-07 11 views

Respuesta

10

Si el archivo está incluido, está incluido.

requice_once() funciona exactamente como include_once(), excepto que mata la secuencia de comandos cuando no se encuentra la secuencia de comandos para incluir.

Por lo tanto, en su ejemplo, el script se incluye una vez.

0

Conceptualmente: Include hace lo que dice en la lata: incluye el código de 'myfile.php' en el código del archivo actual. Requerir es más como una declaración de importación en otros lenguajes de programación.

El sufijo _once significa que PHP evita incluir/requerir el archivo si ya está disponible para el script actual a través de una instrucción include/require anterior o recursivamente a través de declaraciones include/require en otros scripts importados.

0

¿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?

  • include y include_once los dos para emitir una advertencia si no puede encontrar un archivo.

  • require y require emitirá un error fatal si no puede encontrar un archivo.

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 trycatch 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 requirerequire).

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]