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:
- incluir
- include_once
- requerer
- 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