PHP gir fatale feil når brukere forsøker å bruke en udefinert klasse, og det er ikke en riktig navn __ autoload funksjon å fylle den. PHP autoload konflikter oppstår når mer enn ett automatisk lasting funksjonen er definert utenfor en PHP bibliotek , kan ikke finne refererte klasser eller SOAP protokoller brukes . PHP Classes
PHP programmerere kan plassere klassene brukes av programmet i en egen katalog fil . Dette lar programmerere å legge til nye klasser under kjøring. Egne klasser finnes for ulike typer data, for eksempel ansatte, kunder kontonummer og deler av utstyret spores i en database . Hver klasse filen slutter med . Class.php . En utstyret katalogen kunne bli navngitt equipment.class.php . Den require_once ()-setningen gjør at klassen filen som skal brukes av skript. I stedet for å kreve programmerere å skrive inn flere uttalelser i starten av et manus for hver type klasse , tillater PHP klasse autoloading .
Autoloading feil
Når PHP ikke gjenkjenner en klasse , søker den etter __ autoload funksjon . Ifølge "Core PHP Programming ", hvis den eksisterer PHP kaller det med et enkelt parameter , som er navnet på klassen fordi PHP forutsetter at klassen Definisjonen lagres i en fil som starter med navnet på klassen . Når en student klassen brukes , antar PHP at filen class_student.php inneholder studenten klasse definisjon. Hvis filen heter class_fifthgrade.php i stedet , for eksempel , vil PHP script ikke finne det og mislykkes.
Klasse Navn feil
automatisk lasting funksjon bare fungerer hvis klassen er definert senere i skriptet . Dersom klassen ikke er definert senere i programmet , vil automatisk lasting funksjon generere feil . Hvis klassen filen mangler , vil automatisk lasting funksjonen mislykkes. Bruk strenger å referere til klasser dynamisk i stedet for å redigere eller erstatte klassen filen mens prosessen går . Legge til include ( )-funksjonen gjør det mulig PHP til å lage en ny klasse og forebygge konflikter.
PHP autoloading Konflikter
__ autoload funksjonen kan bare defineres i et PHP prosess . PHP autoloading konflikter oppstår når funksjonen er definert mer enn én gang eller endres i løpet av prosessen . " PHP- objekter , Patterns and Practice " foreslår å bruke den spl_auotload_register funksjon for å endre automatisk lasting funksjonen dynamisk. En Standard PHP Library eller SPL tillater brukere å definere og registrere flere autoloading funksjoner uten å bryte den eneste automatisk lasting definisjon per prosess regelen. Hver automatisk lasting funksjon som brukes i prosessen må erklæres og registrert med SPL før require_once setningen brukes .
SOAP har oppstått konflikter
SOAP protokoller definerer konstruere brukes for meldingsutveksling . PHP versjon 5 har en innfødt SOAP forlengelse. NuSOAP er et objekt - orientert metode for å generere meldinger. PHP versjon 5 SOAP har oppstått konflikter med NuSOAP klassen . Konflikten er løst ved å deaktivere PHP versjon 5 har native SOAP forlengelse.