English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Classe PHP/Manual de Referência da Função Object
A função __autoload() tenta carregar classes não definidas
__autoload ( string $class );
Você pode definir essa função para ativar o carregamento automático de classes.
classe - Obrigatório. O nome da classe a ser carregada.
Sem valor de retorno.
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.