Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Técnicas de Inclusión de Archivos en PHP

5/19
Recursos

¿Qué es la inclusión de archivos y por qué es importante?

La inclusión de archivos es un concepto técnico crucial en la programación, especialmente cuando se trata de prepararse para la programación orientada a objetos. A menudo, esta metodología se percibe como algo complicado, pero al explorar los fundamentos de la inclusión de archivos, podemos clarificar ideas clave como la creación de clases y objetos.

Existen sentencias específicas que facilitan la inclusión de archivos en PHP. Estas incluyen include, require y require_once. Aunque su función es similar, tienen características distintivas que las hacen útiles en diversas situaciones.

¿Cuáles son las diferencias entre include y require?

Include

  • Descripción: Incluye un archivo dentro de otro.
  • Funcionamiento: Si el archivo especificado no se encuentra o contiene errores, el sistema generará una advertencia, pero seguirá ejecutándose.

Ejemplo:

include 'archivo.php';

Require

  • Descripción: Similar a include, pero más estricto.
  • Funcionamiento: Si el archivo no existe, PHP emite un error fatal y detiene la ejecución del script.

Ejemplo:

require 'archivo.php';

Elegir entre include y require depende de si es crítico tener el archivo para la ejecución del resto del script.

¿Cómo prevenimos errores al incluir archivos varias veces?

En proyectos grandes, es un error común incluir un archivo más de una vez accidentalmente. Esto puede generar conflictos, especialmente cuando se declaran funciones o clases, como se muestra en el siguiente ejemplo:

function saludar($nombre, $mensaje) {
    return "$nombre, $mensaje";
}

Require_once

  • Descripción: Similar a require, pero PHP verifica si el archivo ya ha sido incluido.
  • Funcionamiento: Evita la inclusión múltiple del mismo archivo, solucionando los problemas de duplicación.

Ejemplo:

require_once 'archivo.php';

Esto asegura que cada archivo se incluya una sola vez, manteniendo el sistema libre de errores por duplicación.

¿Cómo utilizamos la inclusión de archivos con funciones en PHP?

Supongamos que tenemos una función en un archivo llamado grid.php que queremos usar. Primero, definimos la función:

// grid.php
function saludar($nombre, $mensaje) {
    return "$nombre, $mensaje";
}

Ahora, queremos utilizarla en un archivo llamado index.php. Para hacer esto, incluimos el archivo grid.php usando uno de los métodos vistos:

// index.php
require_once 'grid.php';

echo saludar('Profesor', '¿Cómo estás?');

Al ejecutar el código, PHP procesará la llamada a saludar usando la definición de grid.php, mostrando correctamente el resultado.

¿Por qué es relevante aprender sobre la inclusión de archivos?

Aunque la inclusión de archivos por sí sola no es programación orientada a objetos, ofrece una base sólida para entender conceptos más avanzados. Esta práctica no solo evita redundancias de código, sino que también ayuda a estructurar y modularizar mejor los programas, lo que es esencial para el desarrollo de aplicaciones complejas. Como paso previo, es un recurso útil para arrancar en el mundo de la programación con confianza y eficiencia, preparando el camino hacia la programación orientada a objetos.

Explorar y practicar estas técnicas no solo mejora tus habilidades actuales, sino que abre las puertas a una comprensión más profunda de la programación avanzada. ¡Sigue aprendiendo y explorando!

Aportes 29

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

**Include **=> nos permite incluir un archivo dentro de otro. Sino lo encuentra solo genera un warning que permite continuar.
**Require **=> lo mismo que include pero más exigente, en caso de fallo producirá un error fatal, no permitirá continuar con el proceso.
Require_once => idéntica a require excepto que PHP verificará si el archivo ya ha sido incluido y si es así, no se incluye.

Siempre es bueno dividir todo en archivos, Laravel hace un muy buen trabajo con la división de archivos, te permite estructurar tu proyecto de una mejor manera y permite la reutlización de clases, y la práctica de dividir no solo aplica para archivos, igual para código, puedes dividir tu código en funciones y lo harás más legible, una función es más descriptiva que 10 lineas de código en bloques, prácticamente, una función te ayuda a ponerle nombre a un bloque de código, así como si de un archivo se tratase.

  • include'<ruta>': Como la palabra lo dice, incluye un archivo dentro de otro. Cuando el archivo no es encontrado o tiene algún error, el sistema lanzara un warning pero seguirá trabajando

  • require ('<ruta>'): Funciona igual que include la única diferencia es que este arrojara un fatal error a nivel de compilación y todo el sistema dejara de funcionar hasta que se solucione el problema.

  • requiere_once ('<ruta>'): Funciona igual que requiere excepto que PHP verificará si el archivo ya ha sido incluido y si es así, no se incluye (require) de nuevo.

  • include_once '<ruta>': Tiene un comportamiento similar al de la sentencia include, siendo la única diferencia de que si el código del fichero ya ha sido incluido, no se volverá a incluir, e include_once devolverá TRUE. Como su nombre indica, el fichero será incluido solamente una vez.

📑 Podemos utilizar la inclusión de archivos para tener acceso a las implementaciones que poseen y utilizarlas.

<?php

function greet($name, $message)
{
    return "$name, $message";
}
<?php

require_once 'greet.php';

echo greet('Brayan', 'Hola');

Tambien se puede hacer lo siguiente, preguntar si la función existe y sí no, se declara.

if(!function_exists('greet')){
  function greet($name){
    return "Hello, $name";
  }
}

al momento de requerir dos veces el archivo(de manera involuntaria o no) la función no se redeclara.

En esta clase vamos a ver un concepto técnico que hace referencia a la inclusión de archivos, este seria un paso previo a la programación orientada a objetos.
Cuando hablamos de programación orientada a objetos entendemos este concepto como algo exageradamente complejo, sin embargo, vamos a ver este término que nos va a ayudar a entender con mucha claridad que queremos decir con crear clases, con crear objetos, etc.
Sentencias:

  • Include: Nos permite incluir un archivo dentro de otro.

  • Require : De igual forma permite incluir un archivo, solo que esta función es mucho más exigente, básicamente sí aquí el archivo no existe el sistema se va a detener y lo va a exigir.

  • Require_once : Hace lo mismo que el anterior, pero que si por equivocación incluyes el archivo varias veces este sistema te va a permitir evaluar eso y evitar así un error.

  • La función include permite incluir el contenido de un archivo dentro de otro
  • La función require permite incluir el contenido de un archivo al igual que include, con la diferencia de que es más exigente. Si no encuentra el archivo le ejecución del programa se detendrá.
  • La función require_once es exactamente lo mismo que require, pero esta ayudará a evitar que se incluya el mismo archivo varias veces en un mismo archivo y así no generar un error.

Resumen de la clase

<?php

include 'greet.php'; //El inclide no detiene el sistema, solo lo muestra en pantalla
require 'greet.php'; //El require detiene el sistema, si no encuentra el archivo, sale del sistema
require_once 'greet.php'; //El require_once solo incluye el archivo una vez
echo greet('World','Hello');


?>

5. Inclusión de archivos

Vamos a usar include y también require y require once para incluir archivos.

Pdta: Usar require y require once, evitar include 😃.

Comparto el código de esta clase:

greet.php

<?php
function greet($name, $message)
{
    return "$name, $message";
}

index.php

<?php

require_once 'greet.php';

echo greet('Italo', 'Cómo estás...');

faltó el include_once el cual incluye solo una vez el archivo, es decir, si no se ha incluido hantes lo incluye, en caso contrario no. En caso de no encontrarlo genera un warning

En el curso de POO nos recomendaron: Divides y reinaras, Gran clase

divide y vencerás 😛

  • include
  • require
  • require_once
    ¿El use no entra en este apartado?

Include

Require

Require Once

EN ARCHIVOS DE LA CLASE aparecen una serie de archivos para bajar en un zip , pero no los menciona en la clase, no entiendo como se utilizan, si me pueden ayudar gracias
entonces la mejor practica que podriamos hacer al llamar archivos al archivo actual sería mediante el require\_once. Nos evitamos fatalidades.
//include  nos permite incluir un archivo dentro de otro. Sino lo encuentra solo genera un warning que permite continuar.

//requiere lo mismo que include pero más exigente, en caso de fallo producirá un error fatal, no permitirá continuar con el proceso.

//requiere_once idéntica a require excepto que PHP verificará si el archivo ya ha sido incluido y si es así, no se incluye.

Inclusión de archivos

Include

Si el archvio no existe manda una advertencia, donde se hizo el llamado al archivo pero continua con la ejecución del programa…

Require

Igualmente si el archivo llegara a no existir. Detiene todo el programa y manda un Fatal Error

Require Once

En caso de que mandemos a llamar el archivo 2 veces este no se duplicara a nivel de codigo solo respetara un solo llamado

Inclusion de archivos.

    * Include. Nos permite incluir ej:    Tengo un arhivo y lo meto dentro de otro.
    * Require. De igual forma nos permite incluiro un archivo, solo que esta forma es mucho mas exigente.   Basicamente si el archivo que requerimos no existe el programa se detendra y nos arrojara un error
    * Require Once. hace lo mismo que el anterior, pere en caso de que hayamos requerido  algo mas de una vez, este sistema nos permite evaluar esto y evitar un error.

De esta manera la inclusion de archivos nos permite entender mejor como aislar diferentes bloques y estructuras de codigo. Nos ayuda a tener una pequenia base de como entender conceptos avanzados.

Buena clase!

Excelente clase.

Se recomienda siempre usar require_once dado que esta función no permitirá la sobreescritura de ningún archivo en el código

include: incluir ejemplo tengo un archivo y lo incluyo dentro de otro.
require: incluir un archivo pero esta es más exigente.
require once: incluir, pero si ya has requerido varias veces el archivo este solo va a incluir una vez para no tener errores.

Les recomiendo leerse el libro Clean Code de Robert C. Martin

Es super util!

hola les recomiendo una extension para vscode que corre el Código directamente.

se llama Code runner

La inclusión de archivos es una maravilla