2010-08-23 23 views
21

Tengo un archivo PHP donde he definido las variables de acceso al servidor así como mysql_connect y mysql_select_db, ya que estas funciones se utilizan regularmente en casi todas las páginas del backend, mientras estoy usando include(), lo que funciona perfectamente para mí ahora, qué método o la función me sugeriría y me gustaría saber si hay alguna falla si uso include() o ¿es seguro usarlo?include, include_once, require or require_once?

Editar: Teniendo en cuenta voy a utilizar $_SESSION variable también.

Respuesta

31

La única diferencia entre los dos es que require y su hermana require_once tirar un error fatal si no se encuentra el archivo, mientras que include y include_once sólo muestra una advertencia y continuar para cargar el resto de la página. Si no desea que PHP intente cargar el resto de su página sin la información de la base de datos (que supongo), utilice require_once. No necesita incluir el archivo más de una vez, por lo que no es necesario utilizar la función normal require.

+0

gracias, voy con require_once, sí, me gustaría que el script se muera si algo está mal con la variable de acceso al servidor porque no tiene sentido en el back-end sin la conexión de la base de datos. de todos modos también podría usarlo como, mysql_connect ($ host, $ username, $ password) o die (mysql_error()); y luego usarlo con include(), esto también obligará a la secuencia de comandos a morir, al igual que require_once? no es así? –

+0

@Ibrahim Azhar Armar: Sí, pero ** ¿por qué? Quiero decir, deberías tener ese tipo de comprobación de errores de todos modos, pero hay un punto * no * en el uso de 'incluir' en esta situación. –

+0

estoy de acuerdo y me quedo con require_once() –

-1

require() es mejor para usted. Porque con requerir archivo incluye antes de la compilación de scripts. inluce() usando en dinamico incluyendo.

+0

No estoy realmente seguro de lo que estaba tratando de decir aquí, pero no es relevante para el La pregunta de OP ... –

2

Para las variables de conexión de la base de datos, se preferirá el uso de la función require_once(). Si la conexión falla por alguna razón, puede mostrar el mensaje de falla.

-1

Debe usar include_once() si lo está incluyendo más de una vez en una página.

1

Si su página no funciona sin la conexión de base de datos, entonces require_once sería la única opción correcta (ya que no desea cargar estos ajustes dos veces, cargarlos una vez debería ser suficiente). Include intentará cargar su página incluso si el archivo de configuración no está disponible.

+0

también usará las variables $ _SESSION ya que estoy tratando con el backend donde se le otorgará acceso al usuario basado en sesiones, ¿sigue siendo lo suficientemente bueno si uso require_once()? –

0

Incluir La instrucción include() incluye y evalúa el archivo especificado.

Incluir una vez La sentencia include_once() incluye y evalúa el archivo especificado durante la ejecución del script. Este es un comportamiento similar al de la instrucción include(), con la única diferencia de que si el código de un archivo ya se ha incluido, no se volverá a incluir. Como su nombre lo sugiere, se incluirá solo una vez.

Requiere require() e include() son idénticos en todos los sentidos, excepto en cómo manejan el error. Ambos producen una Advertencia, pero requieren() resultados en un Error fatal. En otras palabras, no dude en utilizar require() si desea que un archivo faltante detenga el procesamiento de la página.

Requiere una vez La declaración require_once() incluye y evalúa el archivo especificado durante la ejecución del script. Este es un comportamiento similar al de la instrucción require(), con la única diferencia de que si el código de un archivo ya se ha incluido, no se volverá a incluir.

16

Trabajo funcional: Todas las funciones realizan trabajos similares. Todas las funciones incluirán y evaluarán el archivo específico mientras ejecutan el código.

diferencia funcional:

incluyen vs include_once: Sólo hay una diferencia entre include() y include_once(). Si el código de un archivo ya se ha incluido, no se volverá a incluir si usamos include_once(). Los medios include_once() incluyen el archivo solo de a una por vez.

include vs requieren: si include() no puede encontrar un archivo específico en el lugar en ese momento, emitirá una advertencia, sin embargo, no detendrá la ejecución del script. Para el mismo escenario, require() arrojará un error fatal y detendrá la ejecución del script.

require vs require_once: Solo hay una diferencia entre require() y require_once(). Si el código de un archivo ya se ha incluido, no se volverá a incluir si utilizamos require_once(). Los medios require_once() incluyen el archivo solo de a una por vez.

Para obtener el conocimiento detallado con el ejemplo por favor revise estos artículos increíbles
(1) http://www.readmyviews.com/include-vs-include-once/
(2) http://www.readmyviews.com/include-vs-require/