Heim  >  Artikel  >  Backend-Entwicklung  >  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

墨辰丷
墨辰丷Original
2018-05-26 10:46:192591Durchsuche

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.

3. Gründe und Lösungen:

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 folgt

1) 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(&#39;SomeClass&#39;) != 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(&#39;pageModule&#39;)){ 
require_once(PATH_site.&#39;fileadmin/scripts/class.page.php&#39;);
}

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.


Verwandte Empfehlungen:

PHP-Abfangen

schwerwiegenderFehlerfall

php-Methode zum Erfassen eines schwerwiegenden Fehlers


php-schwerwiegender Fehler von Variablenvariablen: [] kann nicht zum Lesen verwendet werden


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!

Stellungnahme:
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