Heim Backend-Entwicklung PHP-Tutorial 18 kritische Fehler, auf die Sie bei der Webentwicklung achten sollten

18 kritische Fehler, auf die Sie bei der Webentwicklung achten sollten

Nov 11, 2016 pm 03:31 PM
php

In den letzten Jahren hatte ich die Gelegenheit, an einigen interessanten Projekten mitzuwirken und eigenständig Entwicklungen, Upgrades, Refactorings und die Entwicklung neuer Funktionen durchzuführen.

Dieser Artikel fasst einige wichtige Fehler zusammen, die PHP-Programmierer bei der Webentwicklung häufig übersehen, insbesondere bei der Arbeit mit mittleren und großen Projekten. Zu den typischen Fehlern gehört die Unfähigkeit, zwischen verschiedenen Entwicklungsumgebungen zu unterscheiden und die Nichtverwendung von Cache und Backup.

Im Folgenden wird PHP als Beispiel verwendet, seine Kernideen sind jedoch auf jeden Webprogrammierer anwendbar.

Fehler auf Anwendungsebene

Die Fehlerberichterstattung ist während der Entwicklungsphase deaktiviert

  Warum? Warum sollten Sie die Fehlerberichterstattung während der Entwicklung deaktivieren?

PHP verfügt über viele Ebenen der Fehlerberichterstattung, und wir müssen sie alle während der Entwicklungsphase aktivieren.

Wenn Sie glauben, dass Fehler nicht passieren, idealisieren Sie das Programm. In der realen Welt sind Fehler unvermeidlich. error_reporting und display_error sind zwei völlig unterschiedliche Methoden. error_reporting() legt die Fehlerstufe fest, während display_errors festlegt, ob Fehlerinformationen ausgegeben werden sollen.

Während der Entwicklungsphase sollte die Fehlerberichtsebene auf die höchste Ebene eingestellt werden, beispielsweise die folgenden Einstellungen: error_reporting (E_ALL);

2. Fehler unterdrücken

Sie wussten nicht, dass in Zukunft noch schwerwiegendere Fehler passieren würden.

3. Es gibt nirgendwo im Code ein Nutzungsprotokoll. Sie müssen das Nutzungsprotokoll zu Beginn der Softwareentwicklung im Auge behalten Funktion bis zum Ende des Projekts. Viele Programmierer verwenden die eine oder andere Methode zum Aufzeichnen von Protokollen, aber nur wenige Menschen können Protokolle tatsächlich zum Aufzeichnen abnormaler Informationen verwenden. Welchen Nutzen hat ein Protokollsystem, das niemand überprüft?

4. Es wird kein Cache verwendet

Im Anwendungssystem können wir Cache auf mehreren Systemebenen verwenden, z. B. auf der Serverseite, der Anwendungsseite und der Datenbankseite. Warten. Ebenso wie die Protokollierung sollte das Caching von Anfang an auf das System angewendet werden. Sie können das Caching während der Entwicklung deaktivieren und das Caching nach der Produktveröffentlichung aktivieren.

5. Aufgeben von Best Practices und Designmustern

Es tut mir leid, Ihnen sagen zu müssen, dass es viele davon gibt, weil sie denken, sie würden es besser wissen.

Die Best Practices und Designmuster wurden von Vorgängern erstellt. Dies ist oft einfacher und effektiver, als das Rad selbst neu zu erfinden. Wenden Sie es einfach im Projekt an, beispielsweise einige Verschlüsselungsalgorithmen.

6. Es werden keine automatisierten Tests verwendet. Tests werden in jedem Webprojekt verwendet, genau wie Protokolle. Wenn niemand sie verwaltet und verwendet, sind die Tests auch nutzlos .

Ein Testprojekt durchzuführen ist eine mühsame Aufgabe. Glücklicherweise gibt es eine Reihe von Tools, die uns dabei helfen, automatisierte Tests durchzuführen. In der PHP-Entwicklung gibt es ein gutes Testtool namens Jenkins, das sehr benutzerfreundlich ist.

7. Keine Codeüberprüfung

Die Arbeit in einem Team ist eine sehr große Herausforderung, da jedes Mitglied seine eigenen unterschiedlichen Arbeitsgewohnheiten und -methoden hat wird viele Umwege nehmen.

Jedes Mitglied des Teams sollte den Code des anderen überprüfen, genau wie Unit-Tests, was dazu beitragen kann, dass das Projekt sauberer und konsistenter wird.

8. Bei der Programmierung werden nur Idealsituationen berücksichtigt

Sind Sie nach der Übergabe an den Kunden schon einmal auf Probleme oder gar Chaos in Ihrem eigenen oder fremden Code gestoßen? Natürlich habe ich das nicht getan.

Diese Situation tritt häufig auf, weil Entwickler faul sind und nur ideale Situationen berücksichtigen, was zu Datenbankabstürzen, schwerwiegenden PHP-Fehlern oder sogar zu gehackten Servern führen kann. Beim Schreiben von Code müssen Programmierer nicht nur das Best-Case-Szenario berücksichtigen, sondern auch das Worst-Case-Szenario. Nur durch umfassendes Denken kann der Code alle Situationen abdecken.

9. Fehler bei der korrekten Anwendung objektorientierter Programmierideen

Die meisten PHP-Anfänger werden objektorientierte Ideen nicht in ihrem Code verwenden, da dieses Konzept schwierig ist Zu Beginn verstehen

Das Konzept der Objektorientierung besteht natürlich nicht einfach darin, einige Klassen zusammenzufassen.

Objekte, Eigenschaften, Methoden, Vererbung und Kapselung usw. Dies sind die grundlegendsten Konzepte in OOP. Nachdem Entwickler das objektorientierte Entwurfsmuster korrekt verwendet haben, können sie saubereren und skalierbareren Code schreiben.

10. „On-the-fly“-Programmierung

ASAP“, also fügen Sie dem Quellcode einige neue Funktionen hinzu und laden diese dann direkt auf den laufenden Server hoch. Diese Programmiermethode wird „On-the-fly“-Programmierung genannt.

Wenn wir Software entwickeln, insbesondere bei mittelgroßen und großen Projekten, müssen wir sie entsprechend dem Workflow analysieren, programmieren und veröffentlichen, was zukünftige Softwarefehler erheblich reduzieren wird. Von diesem „Flugmodus“ ist abzuraten.

Fehler auf Datenbankebene

Fehler beim Lesen und Schreiben der Datenbank

Jeder Programmierer sollte die Skalierbarkeit des Systems berücksichtigen. In 99 % der Fälle muss das System nicht über eine Erweiterung nachdenken, da nicht so viel Datenverkehr vorhanden ist.

Warum müssen wir das Lesen und Schreiben der Datenbank trennen?

In jedem System wird die Datenbank der erste Engpass sein, der auftritt. Bei starkem Datenverkehr ist es wahrscheinlich, dass die Datenbank als erstes stirbt. Daher verwenden wir in den meisten Fällen mehrere Datenbanken, um den Datenverkehr zu verteilen, und Entwickler verwenden häufig den Master-Slave-Modus oder den Master-Master-Modus. Master-Slave ist der beliebteste Datenbankdruck-Sharing-Modus. Er leitet die angegebene Select-Anweisung an jeden Slave-Server weiter, wodurch der Druck auf den Master-Server erheblich verringert wird.

Der Code kann nur eine Verbindung zu einer Datenbank herstellen

Dies ist dem vorherigen Fehler sehr ähnlich, aber aus bestimmten Gründen müssen Entwickler manchmal eine Verbindung herstellen. Sie werden beispielsweise hochbelastete Daten wie Benutzerprotokolle, Aktivitätsinformationsströme und Echtzeit-Datenanalysen in verschiedene Datenbanken einfügen, um die Hauptdatenbank zu entlasten.

13. Das Versäumnis, Datenbankschwachstellen zu erkennen

Unter den vielen Schwachstellen sind Datenbankschwachstellen die anfälligsten, und die häufigste ist die SQL-Injection. Daher ist es weiterhin erforderlich, regelmäßig eine Datenbank-Schwachstellenerkennung durchzuführen.

14. Datentabellen haben keine Indizes

Geeignete Indizes können die Leistung jeder Tabelle verbessern In diesem Artikel erfahren Sie, wie Sie einen Index erstellen und wann Sie einen Index erstellen.

15. Es wird kein Transaktionsmechanismus verwendet. Die Datenintegrität ist für das Websystem sehr wichtig. Wenn ein Fehler in der Datenkonsistenz auftritt, bricht das gesamte System zusammen reparieren. Durch die ordnungsgemäße Verwendung des Datenbanktransaktionsmechanismus wird dieses Problem effektiv gelöst. Wenn Sie beispielsweise Benutzerdaten speichern möchten, befinden sich in Tabelle 1 E-Mail, Benutzername und Passwort sowie in Tabelle 2 Vorname, Nachname und Geschlecht. Wir können Transaktionen verwenden, um sicherzustellen, dass die Daten beim Aktualisieren von zwei Tabellen gleichzeitig oder nicht gleichzeitig aktualisiert werden.

16. Sensible Daten werden nicht verschlüsselt

 

  PHP5.5 bietet eine Hash-Verschlüsselungsmethode, die wie folgt verwendet wird:  

$hash = passwort_hash ( $password, PASSWORD_BCRYPT );

  17. Kein Backup

Wenn Sie auf eine solche Situation stoßen, ist alles vorbei.

 

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ßer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

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

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

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.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

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

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

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

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

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

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

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

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

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

See all articles