PHP Programming language

Cargando clases PHP automaticamente – PHP Tips

Una de las cosas que pueden resultar mas tediosas, por lo menos para mi, a la hora de programar es ir cargando las dependencias necesarias del fichero para que todo funcione. Con PHP podemos usar las funciones de auto carga para que cada vez que se llame a una clase esta se cargue.

Supongamos el siguiente escenario, tenemos todas las clases en el directorio clases y el fichero donde se define cada una de estas tiene el mismo nombre que la clase. Podríamos crear la siguiente función y con esta cuando creemos un nuevo objeto de la clase se cargara automáticamente.


function __autoload($clase) {
    include 'clases/' . $clase . '.php';
}

A partir de  PHP 5 >= 5.1.2 podemos usar la función spl_autoload_register para la carga automática de clases.


function miAutocargador($clase) {
    include 'clases/' . $clase . '.php';
}

spl_autoload_register('miAutocargador');

Y para simplificarlo un poco mas, a partir de la versión PHP 5.3 podemos lanzar una función anónima para realizar lo mismo de antes


spl_autoload_register(function ($clase) {
    include 'clases/' . $clase . '.php';
});

Para que esto funcione, tiene que cargarse esta función en el fichero en el que queramos que se ejecute la carga, lo ideal en estos casos es si se tiene un fichero de constantes o funciones auxiliares, que se utilicen en todo el proyecto incluir esta función en este.

Mas información:

http://www.php.net/manual/es/function.spl-autoload-register.php

Enhanced by Zemanta
Anuncios

Un pensamiento en “Cargando clases PHP automaticamente – PHP Tips”

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s