Bestandsaufnahme häufiger Fehler bei der PHP-Programmierung
Übersicht: Dieser Artikel zieht eine Bestandsaufnahme der kleinen Fehler und Irrtümer, die PHP-Entwickler beim Codieren gerne übersehen oder nicht beachten.
Variablendeklaration
Wenn Sie eine Variable in einer Anweisung wie folgt deklarieren: $var='value'; Der Compiler findet zuerst den Wert der rechten Hälfte der Anweisung Genau dieser Teil der Aussage führt oft zu Fehlern. Wenn Sie eine falsche Syntax verwenden, erhalten Sie einen Parsing-Fehler.
Analysefehler
Beispiel: Analysefehler: unerwartetes T_WHILE in c:program filesapache groupapachehtdocsscript.php in Zeile 19. Jedes Mal, wenn der vorherige Fehler ermittelt wird, treten die Analysefehler nacheinander auf Beim nächsten Mal stoppt PHP die Ausführung des Skripts nach dem ersten Parsing-Fehler. Außerdem enthalten Parsing-Fehler nur sehr wenige Informationen, und die Zeilennummer, in der der Fehler aufgetreten ist, wird fast nicht gemeldet. Beispielsweise wird im Ausdruck ein vordefiniertes Schlüsselwort verwendet, zum Beispiel: while=10; while ist ein vordefiniertes Schlüsselwort, dem kein Wert zugewiesen werden kann. Zu den vordefinierten Schlüsselwörtern gehören while, function usw. Wir können diese vordefinierten Schlüsselwörter nicht zum Benennen von Variablen verwenden, da der Compiler sonst einen Fehler meldet. Unter diesen repräsentiert T_IF if(), T_WHILE while(), T_FOR for() usw.
Häufige Fehler
Es gibt auch einige häufige Fehler, wie zum Beispiel, dass die Anweisung nicht mit einem Semikolon (;) endet, Anführungszeichen in der Zeichenfolge fehlen usw. Wenn Sie außerdem keine geschweiften Klammern (}) verwenden, um eine Funktion oder Schleife zu beenden, generiert beispielsweise die Funktion UselessFunction(){for($i<0;$i<10;$i++){} Folgendes error: Parse error:parse error,unexpected$in c:program filesapache groupapachehtdocsereg2.php on line 9Da die Funktion UselessFunction nicht mit einer geschweiften Klammer (}) endet, sucht der PHP-Compiler weiterhin nach der schließenden Klammer, bis er das Ende erreicht der Datei. Da der Compiler keine passende geschweifte Klammer findet, meldet er einen Dateiendefehler. Wenn die Codehierarchie korrekt wiedergegeben wird, werden Fehlermeldungen sehr deutlich. Andernfalls ist es sehr schwierig, den Code zu debuggen. Geben Sie daher unbedingt die hierarchische Struktur des Codes an, um späteren Entwicklern die Verbesserung des Codes zu erleichtern.
MySQL-Fehler
Eine andere Art von Fehlermeldung ist ein MySQL-Fehler, der PHP-Neulingen oft Kopfschmerzen bereitet, wie zum Beispiel: Warnung: Das angegebene Argument ist keine gültige MySQL-Ergebnisressource in. .Die oben gemeldete falsche Zeile lautet möglicherweise: while($row=mysql_fetch_array($result)){}Der Parameter $result ist keine gültige Ressource, da die Abfrage fehlschlägt und mysql_fetch_array nicht verarbeitet werden kann. Wenn die Syntax einer Abfrage ungültig ist oder die Verbindung zur Datenbank fehlschlägt, sollten Sie zum Testen die MySQL-Konsole aufrufen.
Achten Sie auf den Unterschied zwischen Echo und Print
In PHP verfügen sowohl Echo als auch Print über Ausgabefunktionen, es gibt jedoch immer noch subtile Unterschiede zwischen den beiden. Nach der Echo-Ausgabe gibt es keinen Rückgabewert, aber print hat einen Rückgabewert und gibt false zurück, wenn die Ausführung fehlschlägt. Daher kann es als normale Funktion verwendet werden, wenn beispielsweise $r=print „Hello World“ ausgeführt wird; der Wert der Variablen $r ist 1. Darüber hinaus läuft die echo-Anweisung im Code etwas schneller als die print-Anweisung.
Achten Sie auf den Unterschied zwischen leerer Zeichenfolge ('') und NULL
Leere Zeichenfolge und NULL werden in PHP beide mit dem Wert 0 gespeichert, ihre Typen sind jedoch unterschiedlich string , und letzterer ist NULL. Es ist ersichtlich, dass die Werte string ('') und NULL gleich sind, aber unterschiedliche Typen haben.
Unterscheiden Sie den Unterschied zwischen == (gleich) und === (alle gleich)
Beide sind Vergleichsoperatoren, == (gleich) vergleicht nur, ob die Werte gleich sind, während === (alle gleich) Gleich) vergleicht nicht nur, ob die Werte gleich sind, sondern auch, ob die Typen gleich sind, was strenger ist.
Unterscheiden Sie den Unterschied zwischen include und require()
Die Funktionen von include() und require() sind grundsätzlich gleich, es gibt jedoch einige Unterschiede in der Verwendung. include() ist eine bedingte Einschlussfunktion , während require () eine bedingungslose Inklusionsfunktion ist. Wenn beispielsweise im folgenden Code die Variable $a wahr ist, wird die Datei a.php eingebunden: if($a){include("a.php");} und require() unterscheidet sich von include( ), unabhängig von $ Was auch immer der Wert von a ist, der folgende Code schließt die Datei a.php ein: if($a){require("a.php");} Zur Fehlerbehandlung verwenden Sie die Include-Anweisung If Tritt ein Inklusionsfehler auf, überspringt das Programm die Include-Anweisung, obwohl eine Fehlermeldung angezeigt wird, wird das Programm weiterhin ausgeführt. Die require-Anweisung führt jedoch zu einem schwerwiegenden Fehler.
Beachten Sie den Unterschied zwischen isset und empty
Empty bestimmt, ob eine Variable „leer“ ist, während isset bestimmt, ob eine Variable gesetzt wurde.
Unterscheiden Sie den Unterschied zwischen self:: und this-->
Wenn beim Zugriff auf Mitgliedsvariablen oder -methoden in einer PHP-Klasse die referenzierte Variable oder Methode als const (Konstante) oder deklariert ist static (statisches Attribut), dann müssen Sie den Domänenoperator:: verwenden, und wenn die referenzierte Variable oder Methode nicht als const oder static deklariert ist, verwenden Sie den Zeigeroperator ->.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
