PHP ger allvarliga fel när användare försöker använda en odefinierad klass och det finns inte en korrekt namngiven __ autoload funktion att fylla den . PHP autoload konflikter uppstår när mer än en automatisk laddning funktion är definierad utanför en PHP -bibliotek , inte kan hitta refererade klasser eller tvål protokoll används . PHP klasser
PHP programmerare kan placera klasser som används av programmet i en separat katalog fil . Detta gör att programmerare att lägga till nya klasser vid körning . Separata klasser finns för olika typer av data såsom anställda , kunder kontonummer och bitar av utrustning som spåras i en databas . Varje klass filen slutar med . Class.php . En utrustning katalog kunde namnges equipment.class.php . Den require_once ( ) uttalande låter klassen filen som ska användas av skript . Istället för att kräva programmerare för att ange flera uttalanden i början av ett skript för varje typ av klass , gör PHP-klass autoloading .
Autoloading fel
När PHP inte känner igen en klass , söker den efter den __ autoload funktionen . Enligt "Core PHP-programmering , " om det finns PHP kallar det med en enda parameter , vilket är namnet på klassen eftersom PHP förutsätter att klassen definition lagras i en fil som börjar med namnet på klassen . När en elev klass används , antar PHP att filen class_student.php innehåller definitionen eleven klassen . Om filen heter class_fifthgrade.php istället , till exempel , kommer den PHP-skript hittar inte det och misslyckas .
Klassnamn fel
autoload funktion bara fungerar om klassen definieras senare i skriptet . Om klassen inte definieras senare i programmet kommer automatisk laddning funktionen generera fel . Om klassen filen saknas , kommer automatisk laddning funktion misslyckas . Använd strängar för att referera till klasser dynamiskt istället för att redigera eller ersätta klassfilen medan processen körs . Lägga inkluderar ( ) funktionen kan PHP att skapa en ny klass och förebygga konflikter . Addera PHP autoloading konflikter
__ autoload Funktionen kan endast definieras i ett PHP- process . PHP autoloading konflikter uppstår när funktionen är definierad mer än en gång eller förändras under processen . " PHP-objekt , Patterns and Practice " antyder använder spl_auotload_register funktion för att ändra autoload funktionen dynamiskt . En standard PHP bibliotek eller SPL tillåter användare att definiera och registrera flera autoloading funktioner utan att bryta mot den inre autoload definitionen per process regeln . Varje automatisk laddning funktion som används i processen måste deklareras och registreras med SPL innan require_once uttalande används .
SOAP finns konflikter
SOAP -protokoll definierar konstruktionen används för meddelandeutbytet . PHP version 5 har en infödd SOAP-tillägg . Nusoap är en objektorienterad metod för att generera meddelanden. PHP version 5 SOAP finns konflikter med nusoap klassen . Konflikten löses genom att inaktivera PHP version 5 hemland SOAP-tillägg .