dic
25
2007

PHP – Cargando clases automaticamente

Cuando programamos PHP orientado a objetos, comúnmente creamos un archivo para cada objeto. Esto sin duda nos deja una cantidad numerosa de archivos de código. PHP5 nos ofrece la función _autoload(), para poder cargar solo los archivos que realmente necesitamos, esto mejora el rendimiento de la aplicación significativamente.

Un ejemplo de como usar esta funcion seria:

// Carga automaticamente los objetos
function __autoload($name) {
	try{cargar($name);} // Busca la funcion cargar
	catch(Undefined $e){trigger_error($e->getMessage(),E_USER_ERROR);}
	catch(Exception $e){trigger_error($e->getMessage(),E_USER_ERROR);}
}
// Verifica que exista el objeto en caso contrario manda un mensaje
function cargar($name){
    if(file_exists($class = $name.'.php'))
        require_once $class;
    else
	trigger_error('No existe la clase '.$name,E_USER_ERROR);
}

Aqui tenemos dos funciones que tratare de explicar. La primera __autoload es llamada cuando se crea un objeto en PHP, como por ejemplo:

$lista = new lista();

De esta forma __autoload, enviara como parámetro $name, el nombre del objeto que tratamos de crear, en este caso $lista. Manda el nombre a la función cargar(). Esta función, fue creada para buscar el archivo php, en caso de no encontrarlo o no poderlo leer, mandara un error.

Written by Antioroku in: Informatica | Etiquetas: , , ,

No hay comentarios »

RSS feed for comments on this post. TrackBack URL


Leave a Reply

Powered by WordPress | Theme: Aeros 2.0 by TheBuckmaker.com