¿Por qué la función require_once() es tan mala de usar en PHP?

La función require_once() es una función incorporada en PHP que es útil en caso de que queramos incluir un archivo PHP en otro, es decir, cuando necesitamos incluir un archivo más de una vez en el script PHP. Se utiliza para verificar si el archivo se incluye más de una vez o no, ya que ignora todas las inclusiones mientras ejecuta el script si el archivo ya está incluido.

Sintaxis:

require_once('File name with file path');

Parámetros: esta función acepta un solo parámetro ‘nombre de archivo con ruta’. Este es el archivo que queremos incluir en nuestro script PHP. Es un parámetro de tipo string.

Valor devuelto: si se encuentra el archivo llamado y, además, si el archivo ya está incluido, la función devolverá el booleano True y, si el archivo no está incluido, la función incluirá el archivo y devolverá True. Pero si no se encuentra el archivo llamado, surgirá un error fatal y no se mostrará ningún resultado y la ejecución se detiene y devuelve Boolean False .

Los siguientes programas ilustran la función require_once() en PHP:

Nombre del archivo: mi_archivo.inc.php

Programa:

<?php 
  
// Content of the PHP file
echo "Welcome To GeeksforGeeks"; 
?>

El archivo anterior my_file.inc.php se incluye dos veces con la función require_once() en el siguiente archivo index.php. Pero a partir de la salida, obtendrá la segunda instancia de inclusión ignorada ya que la función require_once() ignora todas las inclusiones similares después de la primera.

Nombre del archivo: index.php

    
<?php 
  
// Include the file
  
require_once('my_file.inc.php'); 
require_once('my_file.inc.php'); 
  
?> 

Producción:

Welcome To GeeksforGeeks

¿Por qué la función require_once() es tan mala de usar?

  • La función require_once() pone mucha carga en el servidor al incluir todos los archivos.
  • La funcionalidad de la función require_once() funciona de manera inapropiada cuando se usa dentro de una función repetitiva al almacenar variables.

Nombre de archivo: my_file.php
Ejemplo:

    
<?php 
  
// Content of the file
$var = 'GFG'; 
  
?>

Nombre del archivo: check.php

<?php
  
function func() {
    require_once('my_file.php');
    return $var;
}
  
for($i = 1; $i <= 3; $i++) {
    echo func() . "<br>";
}
  
?>

Producción:

GFG

Al reemplazar la función require_once() con la función require() en el ejemplo anterior, podemos asegurarnos de que la variable $varesté disponible en cada llamada de función.

Nombre del archivo: check2.php

<?php
  
function func() {
    require('my_file.php');
    return $var;
}
  
for($i = 1; $i <= 3; $i++) {
    echo func() . "<br>";
}
  
?>

Producción:

GFG
GFG
GFG

La función require_once() es más lenta en comparación con la función require() o include(), ya que comprueba si el archivo ya está incluido o no cada vez que el script llama a la función.

Publicación traducida automáticamente

Artículo escrito por BhavikBothra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *