Auto Loading in PHP

Objetivo: Para aprender como podemos usar qualquer instância de classe sem incluir o arquivo de classe. Geralmente, se quisermos usar a instância de qualquer classe, primeiro precisamos incluir o arquivo de classe por qualquer uma das funções 4:

  1. incluir
  2. include_once
  3. requerer
  4. requer uma vez

Como abaixo,

// incluiu todas as classes requerem "classes / Testing1.php"; require "classes / Testing2.php"; // agora usando a funcionalidade da classe $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = novo Testing2; echo $ testing2-> a;

Mas se houver muitas classes que queremos usar, teremos que incluir todos os arquivos para poder fazer a instância da classe. Suponha que, se houver centenas de classes, teremos que incluir todas e isso demandará muito tempo e espaço. Para superar isso, podemos usar o código abaixo:

função auto_loader ($ class) {$ file = "classes / {$ class} .php"; // caminho de todas as classes // isto irá verificar se o arquivo existe if (arquivo_file ($ file)) {// finalmente se o arquivo existir então ele incluirá o arquivo include $ file; }} // Para registrar o auto_loader () para chamar esta função sequencialmente quando uma nova classe é declarada spl_autoload_register ("auto_loader"); // agora usando a funcionalidade da classe $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = novo Testing2; echo $ testing2-> a;

Usando o código acima, a classe requerida será incluída automaticamente ao usar a classe. Não incluirá outras classes que não sejam necessárias. Estrutura do arquivo:

Classes index.php / Classes Testing1.php / 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 *