La funcion autoload o mas bien __autoload nos ayuda a auto cargar clases, solo las clases que necesitemos.
Imaginemos que en un proyecto normal tenemos entre 20 y 50 o mas clases… y en diferentes scripts tenemos que incluir todas las clases o tenemos que incluir solo las clases que necesitemos, y si en dado caso queremos agregar otras tendríamos que agregar “requires” por cada clase.
PHP nos ofrece una versión global __autoload($clase) que lo que hace es: cuando intentamos llamar una clase, antes de llamar la clase, se llama a la funcion autoload la cual recibe el nombre de la clase, y en teoría podemos hacer cualquier cosa, aunque lo mas común es incluir la clase que necesitamos.
[code language=”php”]<?php function __autoload($classname){ include "classes/".$classname.".php"; } ?>
[/code]Así que lo único que tenemos que hacer es incluir el archivo autoload.php en cada script.
Podemos incluir una verificación en caso de que el archivo no exista.
[code language=”php”]<?php
function __autoload($classname){
$file = "classes/".$classname.".php";
if(file_exists($file)){ include $file; }
else{ echo "El archivo <b>$file</b> no existe."; }
}
?>
Y así solo tenemos que agregar nuestras clases en la carpeta “classes” y tratar que las clases tengan el mismo nombre que su archivo y finalizar con .php
Como conclusión podemos usar el autoload para ahorrarnos mucho trabajo 😉