PHP giver fatale fejl , når brugerne forsøger at bruge en udefineret klasse, og der er ikke en korrekt navngivet __ autoload funktion at udfylde det. PHP automatisk fødning opstår konflikter , når mere end én autoload funktion er defineret uden for en PHP -bibliotek , kan ikke finde refererede klasser eller SOAP -protokoller anvendes. PHP Klasser
PHP programmører kan placere de klasser bruges af programmet i en separat mappe fil. Dette gør det muligt for programmører at tilføje nye klasser på runtime . Separate klasser findes for forskellige typer af data, såsom medarbejdere, kunder kontonumre og stykker af udstyr spores i en database. Hver klasse fil slutter med . Class.php . Et udstyr bibliotek kunne hedde equipment.class.php . Den require_once () erklæring giver klassen fil, der skal bruges af scripts. I stedet for at kræve programmører at indtaste flere sætninger i starten af et script for hver type af klasse, gør det muligt for PHP klasse automatisk indlæsning .
Automatisk indlæsning Fejl
Når PHP ikke genkender en klasse , søger den efter den __ autoload funktion. Ifølge " Core Php Programmering , " hvis den eksisterer PHP kalder det med et enkelt parameter , som er navnet på den klasse, fordi PHP antager, at klassen definition lagres i en fil, der begynder med navnet på klassen . Når en elev klasse bruges , PHP antager, at filen class_student.php indeholder den studerendes klassen definition. Hvis filen er opkaldt class_fifthgrade.php stedet , for eksempel , vil PHP script ikke finde det og mislykkes.
Class Name Fejl
autoload funktionen kun fungerer ordentligt, hvis klassen er defineret senere i scriptet. Hvis klassen ikke er defineret senere i programmet , vil automatisk fødning funktionen generere fejl . Hvis klassen filen mangler , vil automatisk fødning funktionen mislykkes. Brug strenge at henvise til klasser dynamisk i stedet for at redigere eller udskiftning af klassen filen , mens processen kører . Tilføjelse af include ( ) funktionen giver PHP at oprette en ny klasse og forebygge konflikter .
PHP automatisk indlæsning Konflikter
__ autoload funktionen kan kun defineres i en PHP proces. PHP automatisk indlæsning opstår konflikter , når funktionen er defineret mere end én gang eller ændres under processen. " PHP Objekter, Mønstre og Practice " antyder bruger spl_auotload_register funktion til at ændre autoload funktionen dynamisk. En Standard PHP bibliotek eller SPL tillader brugere at definere og registrere flere automatisk indlæsning funktioner uden at krænke den enkelte autoload definition per proces regel. Hver autoload funktion, der bruges i processen, skal være erklæret og registreret hos SPL før require_once erklæring anvendes.
SOAP Extension Konflikter
SOAP -protokoller definerer konstruere bruges til udveksling af meddelelser . PHP version 5 har en indfødt SOAP forlængelse. NuSOAP er et objekt -orienteret metode til at generere meddelelser . PHP version 5 SOAP extension konflikter med NuSOAP klassen. Konflikten er løst ved at deaktivere PHP version 5 native SOAP extension .