Auto Loading in PHP

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:

  1. incluir
  2. include_once
  3. exigir
  4. 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


Akash Roshan

Akash is a PHP developer and wants to share his knowledge through Blogs. He is currently growing in the IT industry while fulfilling his own goals.

Leave a Reply

Your email address will not be published. Required fields are marked *