Heim php教程 php手册 Behandlung schwerwiegender schwerwiegender PHP-Fehler: Schwerwiegender PHP-Fehler: Klasse oder Funktion können nicht erneut deklariert werden

Behandlung schwerwiegender schwerwiegender PHP-Fehler: Schwerwiegender PHP-Fehler: Klasse oder Funktion können nicht erneut deklariert werden

Nov 16, 2016 am 10:24 AM

1. Fehlertyp: Schwerwiegender PHP-Fehler

Fehlertyp: Schwerwiegender PHP-Fehler

Schwerwiegender Fehler: (a) (zuvor in (b) deklariert) kann in (c) in Zeile (d) nicht erneut deklariert werden

2. Fehlerbeschreibung:

Dieser Fehlerbericht weist darauf hin, dass Sie versuchen, eine bereits definierte Funktion neu zu definieren, wobei

a---- gibt einen wiederholt definierten Funktionsnamen an;

b----Der Dateiname und die Zeilennummer, als die Funktion zum ersten Mal definiert wurde;

c----Der Dateiname, wenn die Funktion zum zweiten Mal definiert wird;

d----Die Zeilennummer, wenn die Funktion zum zweiten Mal definiert wird.

3. Gründe und Lösungen:

Ursache: Sie verwenden denselben Namen zweimal hintereinander, um eine Funktion zu definieren, z. B.

Funktion myFunction(){}

Funktion myFunction(){}

Die Ergebnisse sind wie folgt

Schwerwiegender Fehler: Myfunction()(zuvor in(path):2)in(path) in Zeile 1 deklariert werden kann nicht neu deklariert werden

Lösung:

Suchen Sie die deklarierte Funktion und sehen Sie, welche Anforderungen 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 sind wie folgt

1) Eine Klasse mit demselben Namen wird zweimal in derselben Datei deklariert:

Zum Beispiel:

Klasse Foo {}

// etwas Code hier

Klasse 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 bei der Definition einer neuen Klasse feststellen, ob die Klasse bereits existiert:

if(class_exists('SomeClass') != true)

{

//Klasse SomeClass hier einfügen

}

if(class_exists('SomeClass') != true)

{

//Klasse SomeClass hier einfügen

}

2) Fügen Sie wiederholt dieselbe Klassendatei ein:

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“;

wird einen Fehler melden.

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 in eine leere Datei

Klasse Com

{

}

?>

Zu diesem Zeitpunkt wird die Meldung „Klasse Com kann nicht neu deklariert werden“ angezeigt, was darauf hinweist, dass es sich bei dieser Klasse um eine in PHP integrierte Klasse handelt. 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.

Merken Sie sich eine andere online gefundene Lösung. Sie kann in manchen Situationen nützlich sein. Denken Sie zuerst daran

if (!class_exists('pageModule')){

require_once(PATH_site.'fileadmin/scripts/class.page.php');

}

Die obige Methode gilt nicht für die Methode zum Laden der PHP-Klasse __autoload, sie kann jedoch bereits das Problem lösen, dass __autoload automatisch geladen wird. Wir müssen nur den gleichen Klassennamen finden und ihn umbenennen.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)