PHP dá erros fatais quando os usuários tentam usar uma classe indefinida e não há uma função autoload nomeado corretamente __ para preenchê-lo . Conflitos autoload PHP surgem quando mais de uma função autoload é definida fora de uma biblioteca PHP, não é possível encontrar classes referenciadas ou protocolos SOAP são usados. PHP Classes
programadores PHP pode colocar as classes usadas pelo programa em um arquivo de diretório separado . Isso permite que os programadores a adicionar novas classes em tempo de execução . Existem classes separadas para diferentes tipos de dados, tais como empregados , números de contas de clientes e peças de equipamentos monitorados em um banco de dados. Cada arquivo de classe termina com . Class.php . Um diretório de equipamento poderia ser nomeado equipment.class.php . A declaração require_once () permite que o arquivo de classe para ser usado por scripts. Em vez de exigir programadores para entrar com múltiplas instruções no início de um script para cada tipo de classe , PHP permite erros classe carregamento automático .
Autoloading
Quando PHP não reconhece uma classe , ele procura a função __ autoload . De acordo com a "Programação núcleo do PHP , " se é que existe PHP chama -lo com um único parâmetro, que é o nome da classe , porque o PHP assume que a definição de classe são armazenados em um arquivo que começa com o nome da classe . Quando uma classe estudantil é usado , PHP assume que o class_student.php arquivo contém a definição de classe do estudante. Se o arquivo é chamado class_fifthgrade.php em vez , por exemplo , o script PHP não irá encontrá-lo e falhar.
Classe Erros Nome
A função autoload só funciona corretamente se a classe é definida no final do script. Se a classe não está definido mais tarde no programa , a função autoload irá gerar erros . Se o arquivo de classe está faltando , a função autoload falhará. Use cordas para se referir a classes dinamicamente em vez de editar ou substituir o arquivo de classe , enquanto o processo corre . Adicionando o include () função permite que o PHP para criar uma nova classe e evitar conflitos.
PHP Autoloading Conflitos
A função __ autoload só pode ser definida em um processo PHP. Conflitos de carregamento automático PHP ocorrer quando a função é definida mais de uma vez ou alterados durante o processo. "Objetos PHP, Padrões e Práticas ", sugere usar a função spl_auotload_register para mudar a função autoload dinamicamente. A biblioteca padrão PHP ou SPL permite aos usuários definir e registrar múltiplas funções de carregamento automático , sem violar a definição autoload único por regra processo. Cada função autoload utilizado no processo deve ser declarado e registrado com o SPL antes da instrução require_once é usada.
Extensão SOAP Conflitos
protocolos de SOAP definir o construto utilizado para troca de mensagens. PHP versão 5 tem uma extensão SOAP nativa. NuSOAP é um método orientado a objetos de gerar mensagens. Os PHP versão 5 conflitos de extensão SOAP com a classe NuSOAP . O conflito é resolvido desativando versão PHP extensão SOAP nativo do 5 .