Seguramente más de una vez nos pareció demasiado engorroso tener que incluir en nuestros scripts todas las clases que queremos usar en el mismo, para solucionar esto contamos en PHP 5 con la función __autoload la cual es llamada automáticamente en caso de que se intente usar una clase que no ha sido definida aún.

Para hacer uso de esta y no tener que definirla en todos los scripts que tenemos podemos crear una archivo que se llame auto_load.php e incluirlo en todos los script que hacen uso de clases o bien si contamos con un archivo config.php o algo así que se use en todos lados, la podemos definir ahí para que de esta forma sea global a toda la aplicación.

1
2
3
function __autoload($class_name) {
    require_once $class_name . '.php';
}

Al ser llamada la función en el parámetro $class_name viene el nombre de la clase por ende si queremos incluir la clase Empleado el require_once incluirá a Empleado.php.
Un practica buena es definir el require_once con un path absoluto de esta forma podemos hacer uso de la función en cualquier parte de sitio sin preocuparnos por si la clase será cargada o no para esto redefinimos la función como sigue:

1
2
3
function __autoload($class_name) {
    require_once $_SERVER[‘DOCUMENT_ROOT’]./directorio_de_clases/.$class_name . '.php';
}

De esta forma al cuando queremos invocar a la clase Empleado si tenemos incluido el auto_load.php solo instanciamos a la misma y listo podemos usarla sin problemas.

1
2
require_once (‘auto_load.php’);
$emp = new Empleado('Juan Perez', 25, 40.32, 80);

Comments are closed.