Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/06/2010, 08:27
Avatar de Marvin
Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 3 meses
Puntos: 81
Respuesta: Conexion con servidor

Se supone que esta es la manera en que funcionan require e include:

Cita:
Iniciado por php.net
include:
When a file is included, the code it contains inherits the variable scope of the line on which the include occurs. Any variables available at that line in the calling file will be available within the called file, from that point forward. However, all functions and classes defined in the included file have the global scope.
O sea... si un archivo es incluido, su codigo va a tomar todos los ambitos de las variables desde la linea que se incluye, esto quiere decir que todas las variables van a funcionar desde el archivo que lo esta incluyendo. Sin embargo, todas las funciones y clases que estan definidas en el archivo incluido, funcionan con un ambito global.
Cita:
Iniciado por php.net
require:
require() is identical to include() except upon failure it will also produce a fatal E_ERROR level error. In other words, it will halt the script whereas include() only emits a warning (E_WARNING) which allows the script to continue.

See the include() documentation for how this works.
O sea... require es identico a include excepto cuando fallan, ya que require producira un error fatal (y no un warning). Esto quiere decir que se detendra en los lugares que se emita una advertencia en los cuales include podria continuar.

En terminos de ejecucion de cada uno, desde alguna version 4.0.x de php hacia atras, se usaban para diferenciar un llamado bajo x condiciones, pero desde esta version en adelante, la unica diferencia es la ya mencionada.

Tal vez quisieras hacer la ejecucion del script una sola vez y esto lo puedes hacer ya sea con include_once() y/o require_once() que como sus nombres lo indican, se ejecutan una sola vez.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!