Saltar al contenido
Lacodigoteca.com

Carga automática de ficheros con PHP

Carga automática de ficheros en PHP

En este artículo, te voy a explicar detalladamente, por qué la carga automática es tan importante para nuestra aplicación web, y te lo voy a mostrar como realizarlo en PHP para hacer una carga automática de ficheros PHP, para que lo puedas implementarlo en tus proyectos paso a paso.

¿Por qué necesitamos la carga automática de ficheros?

Al crear aplicaciones web en PHP, es posible que necesites usar unas librerías de terceros (subir documentos a Google Drive, enviar correos con PHPMailler, generar documentos en PDF, etc). Bien, si quieres usar estas librerías externas en tu aplicación web, necesitas incluirlas en tus archivos PHP de origen usando la instrucción de PHP require o include, cada vez que las necesites.

Estas instrucciones require o include funcionan bien siempre y cuando estés desarrollando aplicaciones pequeñas. Pero a medida que tu aplicación crece, la lista de instrucciones require o include se vuelve cada vez más grande, lo cual es un poco molesto y difícil de mantener.

El otro problema de este enfoque es que estás cargando las librerías completas en tu aplicación, incluyendo las partes que ni siquiera estás usando. Esto hace que nuestra aplicación web sea más pesada y más lenta al realizar la carga completa de tu aplicación.

Para solucionar este tipo de problema, sería ideal cargar clases solo cuando realmente se necesiten. Ahí es donde entra en juego la carga automática. Básicamente, cuando usas una clase en tu aplicación, el cargador automático revisa si ya está cargada, y si no, el cargador automático carga la clase necesaria en la memoria. Así que la clase se carga sobre la marcha en donde sea necesaria; esto se conoce como cargado automático.

Al usar la carga automática no necesitas incluir todos los archivos de las bibliotecas manualmente; solamente necesitas incluir el archivo del cargador automático, que contiene la lógica de la carga automática, y las clases necesarias se incluirán de manera dinámica.

También este tipo de práctica para hacer una carga automática de ficheros en cualquier lenguaje de programación, se le conoce como “autoload”.

¿Cómo puedo hacer una carga automática de ficheros en PHP?

La función spl_autoload_register() es la que hace que esto sea posible. La función spl_autoload_register() te permite registrar funciones que se colocarán en una cola para ser activadas de manera secuencial cuando PHP intente cargar clases que aún no estén cargadas.

Te voy a mostrar un breve ejemplo para comprender cómo funciona:

<?php
function custom_autoloader($clase) {
  include 'librerias/' . $clase . '.php';
}
 
spl_autoload_register('custom_autoloader');

?>

En el ejemplo anterior, hemos creado la función custom_autoloader() como nuestro cargador automático personalizado para nuestra aplicación web, usando la función spl_autoload_register(). A continuación, cuando intentes crear una instancia de la clase FooBar y esta aún no se encuentre disponible, PHP ejecutará todas las funciones registradas del cargador automático secuencialmente.

¿Qué parámetros tiene spl_autoload_register?

  • autoload_function: La función de autocarga a registrar. Si no se proporciona ningún parámetro, será registrada la implementación predeterminada de spl_autoload().
  • throw: Este parámetro especifica si spl_autoload_register() debería lanzar excepciones cuando el parámetro autoload_function no puede ser registrado.
  • prepend: Si es truespl_autoload_register() antepondrá el autocargador en la pila de autocarga en vez de posponer

Conclusión sobre la carga automática de ficheros

Sin la carga automática, necesitarías usar varias veces la instrucción require o include. La implementación del cargador automático es bastante sencilla en el ejemplo anterior, pero puedes usar esto como base, registrando múltiples cargadores automáticos para diferentes tipos de clases.

Espero que te haya servido de ayuda esté artículo, al igual que a mi me ha servido para evitar muchos problemas y automatizar mejor las funciones de tu aplicación web. Si tienes alguna duda sobre este artículo, escribe un comentario en este artículo, y estaré encantado de ayudarte sobre la carga automática de ficheros con PHP.

Si quieres ver algunos artículos interesantes sobre PHP, te recomiendo que visites el siguiente enlace.

Configuración
A %d blogueros les gusta esto: