gratiszona

require()

La sentencia require() se sustituye a si misma con el archivo especificado, tal y como funciona la directiva #include de C.
Un punto importante sobre su funcionamiento es que cuando un archivo se incluye con include() o se requiere con
require()), el interprete sale del modo PHP y entra en modo HTML al principio del archivo referenciado y vuelve de
nuevo al modo PHP al final. Por esta razon, cualquier codigo dentro del archivo referenciado que debiera ser ejecutado
como codigo PHP debe ser encerrado dentro de etiquetas validas de comienzo y fin de PHP.
require() no es en realidad una funcion de PHP; es mas una construccion del lenguaje. Esta sujeta a algunas reglas distintas
de las de funciones. Por ejemplo, require() no esta sujeto a ninguna estructura de control contenedora. Por otro lado, no
devuelve ningun valor; intentar leer un valor de retorno de una llamada a un require() resulta en un error del interprete.
A diferencia de include(), require() siempre leera el archivo referenciado, incluso si la linea en que esta no se ejecuta
nunca. Si se quiere incluir condicionalmente un archivo, se usa include(). La sentencia conditional no afecta a require().
No obstante, si la linea en la cual aparece el require() no se ejecuta, tampoco se ejecutara el codigo del archivo
referenciado.
De forma similar, las estructuras de bucle no afectan la conducta de require(). Aunque el codigo contenido en el archivo
referenciado esta todavia sujeto al bucle, el propio require() solo ocurre una vez.
Esto significa que no se puede poner una sentencia require() dentro de una estructura de bucle y esperar que incluya el
contenido de un archivo distinto en cada iteracion. Para hacer esto, usa una sentencia include().
require(’header.inc’ );
En PHP3, es posible ejecutar una sentencia return dentro de un archivo referenciado con require(), en tanto en cuanto
esa sentencia aparezca en el ambito global del archivo requerido (require()). No puede aparecer dentro de ningun bloque
(lo que siginifica dentro de llaves({})). En PHP4, no obstante, esta capacidad ha sido desestimada. Si se necesita esta
funcionalidad, vease include().
Ver tambien include(), require_once(), include_once(), readfile() y virtual().
Anterior: switch en php
Siguiente: include en php