English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriais Básicos de PHP

Tutoriais Avançados de PHP

PHP & MySQL

Manual de Referência do PHP

Uso e exemplo da função __autoload() em PHP

Classe PHP/Manual de Referência da Função Object

A função __autoload() tenta carregar classes não definidas

Sintaxe

__autoload ( string $class );

Definição e descrição

 Você pode definir essa função para ativar o carregamento automático de classes.

Parâmetros

classe - Obrigatório. O nome da classe a ser carregada.

Retorno

Sem valor de retorno.

Exemplo Online

A seguir, vamos explicar o uso de __autoload com exemplos, a seguir, carregar as classes ClassA e ClassB dos arquivos ClassA.php e ClassB.php respectivamente

<?php
//Define uma classe ClassA, o nome do arquivo é ClassA.php
class ClassA{
 public function __construct()
    echo 'ClassA load success!';
 }
}
?>
<?php
//Define uma classe ClassB, o nome do arquivo é ClassB.php, ClassB herda ClassA
class ClassB extends ClassA {
 public function __construct()
    echo 'ClassB load success!';
 }
}
?>
<?php
function __autoload($classname)
{
     $classpath="./".$classname.'.php';
     if(file_exists($classpath)){
         require_once($classpath);
     }
     else{
        echo 'class file'.$classpath.'not found!';
     }
}
//Ao encontrar a classe ClassA, chama automaticamente a função __autoload() com o parâmetro "ClassA"
$obj = new ClassA();
//Ao encontrar a classe ClassB, chama automaticamente a função __autoload() com o parâmetro "ClassB"
$obj2 = new ClassB();
?>

Em PHP 5 Neste, você pode definir uma função __autoload(), que será chamada automaticamente ao tentar usar uma classe não definida. Ao chamar essa função, o motor de script tem a última chance de carregar a classe necessária antes de falhar no PHP. A função __autoload() recebe um parâmetro, que é o nome da classe que você deseja carregar. Portanto, ao fazer um projeto, ao organizar o nome do arquivo da definição da classe, você precisa seguir um certo padrão, é melhor usar o nome da classe no centro, também pode adicionar um prefixo ou sufixo unificado para formar o nome do arquivo, por exemplo, xxx_classname.php, classname_xxx.php e também é classname.php etc.

Classe PHP/Manual de Referência da Função Object