Auto Loading in PHP

Obbiettivo: Per sapere come possiamo utilizzare qualsiasi istanza di classe senza includere il file di classe. In generale, se vogliamo utilizzare l'istanza di qualsiasi classe, per prima cosa dobbiamo includere il file di classe con una qualsiasi delle funzioni 4:

  1. includere
  2. include_once
  3. richiedere
  4. require_once

Come sotto,

// incluso tutte le classi richiedono "classes / Testing1.php"; richiede "classes / Testing2.php"; // ora usando la funzionalità della classe $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = new Testing2; echo $ testing2-> a;

Ma se ci sono molte classi che vogliamo usare, dovremo includere tutti i file per poter creare l'istanza della classe. Supponiamo che se ci sono centinaia di classi dovremo includere tutto e ci vorrà molto tempo e spazio. Per superare questo, possiamo usare il seguente codice:

function auto_loader ($ class) {$ file = "classes / {$ class} .php"; // percorso di tutte le classi // questo controllerà se il file esiste se (is_file ($ file)) {// infine se il file esiste allora includerà il file include $ file; }} // Per registrare auto_loader () per chiamare questa funzione in modo sequenziale quando viene dichiarata una nuova classe spl_autoload_register ("auto_loader"); // ora usando la funzionalità della classe $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = new Testing2; echo $ testing2-> a;

Utilizzando il codice precedente, la classe richiesta verrà inclusa automaticamente durante l'utilizzo della classe. Non includerà altre classi che non sono richieste. Struttura del file:

classi 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 *