PHP gibt fatale Fehler , wenn Benutzer eine undefinierte Klasse verwenden versuchen und es ist kein korrekt benannt __ automatischer Funktion, um sie zu füllen. PHP automatischer Dokumenteneinzug Konflikte entstehen, wenn mehr als ein automatischer Funktion außerhalb eines PHP -Bibliothek definiert wird , nicht finden können referenzierten Klassen -oder SOAP- Protokolle verwendet werden . PHP Classes
PHP Programmierer legen die Klassen durch das Programm in einem separaten Verzeichnis -Datei verwendet. Dies ermöglicht es Programmierern, neue Klassen zur Laufzeit hinzufügen. Separate Klassen gibt es für verschiedene Arten von Daten wie Mitarbeiter, Kunden Kontonummern und Teile der Ausrüstung in einer Datenbank erfasst . Jede Klasse Datei endet mit . Class.php . Ein Gerät namens Verzeichnis konnte equipment.class.php werden. Die require_once ()-Anweisung erlaubt die Klasse Datei durch Skripte verwendet werden. Anstatt für Programmierer, um mehrere Anweisungen zu Beginn eines Skripts für jede Art von Klasse geben , ermöglicht PHP-Klasse Autoloading .
Autoloading Fehler
Wenn PHP nicht erkennt eine Klasse , sucht es nach der __ automatischer Funktion . Laut " Core- PHP-Programmierung ", wenn es vorhanden ist PHP nennt es mit einem einzigen Parameter, der den Namen der Klasse , weil PHP nimmt an, dass die Klassen-Definition in einer Datei, die mit dem Namen der Klasse beginnt, wird gespeichert. Wenn ein Schüler -Klasse verwendet wird, nimmt PHP an, dass die Datei class_student.php die Schüler der Klasse Definition enthält . Wenn die Datei mit dem Namen class_fifthgrade.php statt , zum Beispiel, wird das PHP-Skript nicht finden und scheitern.
Class Name Fehler
Die Funktion automatischer Dokumenteneinzug funktioniert nur richtig , wenn die Klasse wird später im Skript definiert. Wenn die Klasse nicht später im Programm definiert, wird der Autoload Funktion zu Fehlern. Wenn die Klasse fehlt, wird die Funktion automatischer Dokumenteneinzug scheitern. Verwenden Sie Zeichenfolgen, die an Klassen dynamisch statt der Bearbeitung oder Austausch der class-Datei während der Prozess läuft verweisen. Hinzufügen der include () -Funktion ermöglicht PHP , um eine neue Klasse zu erstellen und zu verhindern, Konflikte .
PHP Autoloading Konflikte
__ autoload Funktion kann nur in einer PHP-Prozess definiert werden. PHP Autoloading treten auf, wenn die Funktion mehr als einmal oder während des Prozesses definiert verändert. " PHP-Objekte , Patterns and Practice" schlägt mit der spl_auotload_register Funktion zum Ändern der Autoload Funktion dynamisch . A Standard PHP -Bibliothek oder SPL ermöglicht es Benutzern zu definieren und registrieren Autoloading mehrere Funktionen ohne Verletzung der einzelnen automatischer Definition pro Prozess Regel. Jeder automatischer Funktion im Prozess verwendet werden, müssen deklariert und registriert werden mit dem SPL vor dem require_once -Anweisung verwendet .
SOAP-Erweiterung Konflikte
SOAP -Protokolle definieren die für verwendet konstruieren Nachrichtenaustausch . PHP-Version 5 verfügt über eine native SOAP-Erweiterung . NuSOAP ist ein objektorientiertes Verfahren zum Erzeugen von Nachrichten. Die PHP-Version 5 SOAP-Erweiterung Konflikte mit dem NuSOAP Klasse. Der Konflikt wird durch die Deaktivierung PHP Version 5 der nativen SOAP-Erweiterung beschlossen .