Objetivo: Para aprender cómo podemos usar cualquier instancia de clase sin incluir el archivo de clase. En general, si queremos usar la instancia de cualquier clase, primero debemos incluir el archivo de clase por cualquiera de las funciones 4:
- incluir
- include_once
- exigir
- requerir una vez
Como abajo,
// incluido todas las clases requieren "classes / Testing1.php"; requiere "classes / Testing2.php"; // ahora usando la funcionalidad de la clase $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = nuevo Testing2; echo $ testing2-> a;
Pero si hay muchas clases que queremos usar, tendremos que incluir todos los archivos para poder crear la instancia de la clase. Supongamos que si hay cientos de clases, tendremos que incluir todas y tomará mucho tiempo y espacio. Para superar con esto, podemos usar el siguiente código:
function auto_loader ($ class) {$ file = "classes / {$ class} .php"; // ruta de acceso de todas las clases // esto verificará si el archivo existe si (is_file ($ file)) {// finalmente si el archivo existe, entonces incluirá el archivo include $ file; }} // Para registrar auto_loader () para llamar a esta función de forma secuencial cuando se declara una nueva clase spl_autoload_register ("auto_loader"); // ahora usando la funcionalidad de la clase $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = nuevo Testing2; echo $ testing2-> a;
Usando el código anterior, la clase requerida se incluirá automáticamente al usar la clase. No incluirá otras clases que no sean requeridas. Estructura del archivo:
Clases index.php / Testing1.php classes / Testing2.php