Heim >Backend-Entwicklung >PHP-Tutorial >Behandlung schwerwiegender schwerwiegender PHP-Fehler: Schwerwiegender PHP-Fehler: Klasse oder Funktion können nicht erneut deklariert werden
In diesem Artikel wird hauptsächlich die Behandlung schwerwiegender schwerwiegender PHP-Fehler vorgestellt: Schwerwiegender PHP-Fehler: Klasse oder Funktion kann nicht erneut deklariert werden. Freunde in Not können darauf verweisen
Fehlertyp: Schwerwiegender PHP-Fehler
Fehlertyp: Schwerwiegender PHP-Fehler
Schwerwiegender Fehler: (a) (zuvor in (b) deklariert) in (c) in Zeile (d) kann nicht erneut deklariert werden
2 . Fehlerbeschreibung:
Dieser Fehlerbericht zeigt an, dass Sie versuchen, eine bereits definierte Funktion neu zu definieren, wobei
a---- einen wiederholt definierten Funktionsnamen angibt; b----Der Dateiname und die Zeilennummer, als die Funktion zum ersten Mal definiert wurde
c----Der Dateiname, als die Funktion zum zweiten Mal definiert wurde; Nr. Die Zeilennummer, wenn die Funktion ein zweites Mal definiert wird.
Ursache: Sie verwenden denselben Namen zweimal hintereinander, um eine Funktion zu definieren, z. B.
Funktion myFunction () {}
function myFunction(){}
Das Ergebnis ist wie folgt
Schwerwiegender Fehler:Kann meine Funktion()(zuvor in(pfad):2)deklariert nicht erneut deklarieren Pfad) in Zeile 1
Lösung:
Suchen Sie die bereits deklarierte Funktion und sehen Sie, welche Bedürfnisse Sie dazu veranlasst haben, sie erneut zu definieren. Wenn Sie einfach vergessen haben, dass es bereits zuvor definiert wurde, löschen Sie einfach eine der Deklarationen. Beispielsweise sind Ihre Skriptdateien äußerst verwirrend angeordnet und Sie verwenden möglicherweise eine große Anzahl von include() und anderen Funktionen, was es für Sie schwierig macht, Ihre Ideen aus dem verwirrenden Code herauszusortieren. Wenn Ihre PHP-Version jedoch relativ neu ist (PHP 5.3.8+), scheint es, dass Sie Namespaces verwenden können, um die Situation zu lösen, in der es wirklich notwendig ist, Funktionen wiederholt zu definieren.
4 PHP-Beispiele für die Behandlung und Lösung schwerwiegender schwerwiegender Fehler lauten wie folgt1) Eine Klasse mit demselben Namen wird zweimal in derselben Datei deklariert:
Zum Beispiel:
<?php class Foo {} // some code here class Foo {} ?>
Beim zweiten Foo wird ein Fehler gemeldet.
Lösung: Entfernen Sie das zweite Foo oder benennen Sie es um.
Um wiederholte Definitionen zu verhindern, können Sie beim Definieren einer neuen Klasse feststellen, ob die Klasse bereits existiert:
if(class_exists('SomeClass') != true) { //put class SomeClass here }
2) Duplication Contain die gleichen Klassendateien:
Zum Beispiel: für eine bestimmte Klassendatei some_class.php, in a.php
include "some_class.php"
include "some_class . php";
In b.php
include "a.php";
include "some_class.php";include "a.php";
include „some_class.php“;
meldet einen Fehler.
Lösung: Ersetzen Sie alle oben genannten include durch include_once
3) Diese Klasse ist eine integrierte Klasse in der PHP-Klassenbibliothek.
Beurteilungsmethode: Schreiben Sie
<?php class Com { } ?>
in eine leere Datei. Zu diesem Zeitpunkt wird die Meldung „Klasse Com kann nicht neu deklariert werden“ angezeigt, was darauf hinweist, dass diese Klasse ist in PHP integriert. Kann nicht verwendet werden.
Vermeiden Sie außerdem die Verwendung zu beliebter Klassennamen, z. B. „Com“. Diese Klasse ist unter Linux möglicherweise normal, kann jedoch nicht in einer Windows-Umgebung ausgeführt werden.
Erinnern Sie sich an eine andere Lösung, die ich online gefunden habe. Sie kann in manchen Situationen nützlich sein.
if (!class_exists('pageModule')){ require_once(PATH_site.'fileadmin/scripts/class.page.php'); }
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.
Verwandte Empfehlungen:
schwerwiegenderFehlerfall
Das obige ist der detaillierte Inhalt vonBehandlung schwerwiegender schwerwiegender PHP-Fehler: Schwerwiegender PHP-Fehler: Klasse oder Funktion können nicht erneut deklariert werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!