Autocarga De Clases En La Programación Orientada A Objetos

Autocarga de clases en la programación orientada a objetos

Si estas siguiendo a pies juntillas los artículos dedicados a la programación orientada a objetos es muy posible que ya tengas unos conocimientos técnicos bastante avanzados, de hecho es posible hasta que ya hayas hecho algún programita y si has seguido las buenas prácticas habrás creado un fichero por cada clase no? Es lo típico vamos… Y no te has encontrado con el problema de querer utilizar varias clases en un script y ver que el comienzo del fichero se te llenan de mas y mas requires e include ?

Jajajaja ya te contesto yo. Si. A no ser que hayas utilizado lo que vamos a ver en este artículo que no es nada mas y nada menos que…

Usando la autocarga de clases

La autocarga de clases viene a solucionar precisamente el problema anterior. Tener que incluir todas las clases que vayamos a utilizar en cada uno de nuestros scripts. Tal vez para scripts pequeñitos o POC no sea un problema pero ya te digo yo que cuando estas desarrollando una aplicación empresarial grande se vuelve un coñazo.

Desde la versión 5 de PHP se incluye un mecanismo para auto cargar las clases automáticamente y es mediante la función spl_autoload_register() que se encarga de registrar cualquier número de cargadores.

Esto tiene varias ventajas como el hecho de que podemos hacer que se carguen clases e interfaces automáticamente si no están definidas actualmente. Haciendo uso de los autocargadores estamos dando una última oportunidad al motor de PHP de cargar los recursos necesarios antes de que pete por omisión.

Lo chulo de la función que gestiona la autocarga de clases es que internamente hace uso del método mágico __autoload() que es proporcionada por la spl. Si en tu script aparece esta función (damos por hecho que si aparece es porque estás haciendo autocarga de clases) es necesario que la función esté explicitamente registrada en la cola __autoload para que no falle.

Ahora bien, como sabes, cuando desarrollamos con PHP podemos hacer scripts que se presenten en el navegador como páginas web o podemos hacer utilidades para la consola. Si señores, podemos hacer nuestros propios programitas con PHP para correrlos desde la terminal, el CMD, la consola o como quieras llamarlo.

Pues si haces una utilidad para el Command Line Interface has de saber que la autocarga de clases no te va a funcionar si lo utilizas en el modo interactivo. Echa un vistazo al enlace anterior para saber que es el modo interactivo de la CLI anda 😉

Como ves en el ejemplo no estoy haciendo uso de ningún include o require, tan solo hago una llamada a la función spl_autoload_register.

Pues nada chachos esta vez ha sido un artículo cortito, si tienes dudas o necesitas mas ejemplos o ejercicios pídemelos en los comentarios o en twitter a través del siguiente banner .

@gorkakatua #faqsGorkamu pregúntame por twitter cualquier cosa y vemos cómo lo solucionamos.

Hala a mamarla!

¿Te ha parecido este un artículo de 5 estrellas? Dame tu valoración:
Review Date
Reviewed Item
Autocarga de clases en la programación orientada a objetos
Author Rating
5

Gorka Muñoz Andrés

Me llamo Gorka Muñoz y soy un desarrollador melómano. Combino a la perfección la búsqueda de nuevos grupos con la pasión por la tecnología. Desde chiquitito me ha gustado la programación, ahora que soy mayor estoy metido en el mundo del SEO sin olvidarme del /Dev.

Deja un comentario

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