Heim Backend-Entwicklung PHP7 Zehn Fallstricke, die es bei der PHP7-Entwicklung zu vermeiden gilt

Zehn Fallstricke, die es bei der PHP7-Entwicklung zu vermeiden gilt

Apr 30, 2020 am 10:45 AM
php

Viele neue Features und Funktionen wurden in PHP7 eingeführt, und es gibt auch aufgegebene Features und Funktionen. Dadurch sind einige Codes entstanden, die zuvor für PHP7 anwendbar waren, in PHP7 jedoch nicht sehr gut sind. In diesem Artikel erfahren Sie, wie das geht Vermeiden Sie PHP7 in der Grube.

1. Benutzen Sie nicht die mysql_-Funktion

Der Tag ist endlich gekommen und von nun an „sollten“ Sie die mysql_-Funktion nicht mehr verwenden. PHP 7 hat sie alle aus dem Kern entfernt, was bedeutet, dass Sie auf die viel bessere Funktion mysqli_ oder die flexiblere PDO-Implementierung migrieren müssen.

2. Schreiben Sie keinen Müllcode

Dieser Punkt mag leicht zu verstehen sein, wird aber immer wichtiger, da die Geschwindigkeitssteigerung von PHP 7 Ihren Code möglicherweise verdeckt Einige Fragen. Geben Sie sich nicht nur mit der Geschwindigkeit Ihrer Website zufrieden, denn die Migration auf PHP 7 hat sie schneller gemacht.

Als Entwickler sollten Sie immer darauf achten, Skripte bei Bedarf zu laden, sie nach Möglichkeit zu verbinden, effiziente Datenbankabfragen zu schreiben, nach Möglichkeit Caching zu verwenden und vieles mehr.

3. Verwenden Sie keine schließenden PHP-Tags am Ende der Datei

Sie können einen Blick darauf werfen, wann eine Datei mit PHP-Code endet, die meisten von WordPress Kerncodes enden mit Das PHP-Tag wurde entfernt. Tatsächlich wird es vom Zend Framework ausdrücklich deaktiviert. PHP benötigt kein schließendes Tag am Ende der Datei und wir können sicherstellen, dass am Ende keine Leerzeichen hinzugefügt werden, indem wir es entfernen.

640?wx_fmt=jpeg

4. Machen Sie keine unnötigen Pass-by-Reference

Ich persönlich mag Pass-by nicht -Referenz. Ich weiß, dass es manchmal nützlich ist, aber manchmal macht es den Code schwer zu verstehen und die Ergebnisse schwieriger vorherzusagen.

Manche Leute denken, dass der Code dadurch schneller läuft, aber laut einigen erfahrenen PHP-Programmierern stimmt das nicht.

Ein Beispiel dafür, warum Zitieren schlecht ist, ist, dass PHP über integrierte shuffle() und sort() verfügt. Sie ändern das ursprüngliche Array, anstatt das verarbeitete Array zurückzugeben, was ziemlich unlogisch ist.

5. Führen Sie Abfragen nicht in einer Schleife aus

Abfragen in einer Schleife auszuführen ist sehr verschwenderisch. Es belastet Ihr System unnötig und kann außerhalb der Schleife möglicherweise schneller die gleichen Ergebnisse erzielen. Wenn ich auf eine Situation stoße, in der ich so etwas benötige, löse ich das Problem normalerweise mit zwei separaten Abfragen, die ich zum Aufbau des Datenarrays verwende. Ich iteriere dann über das Array und muss dabei keine Abfrage durchführen.

Da hier WordPress verwendet wird, kann es einige Ausnahmen geben. Obwohl get_post_meta() viele Daten aus der Datenbank abruft, können Sie es in einer Schleife verwenden, wenn Sie die Metadaten eines bestimmten Blog-Beitrags durchlaufen. Dies liegt daran, dass WordPress beim ersten Aufruf tatsächlich alle Metadaten abruft und zwischenspeichert. Nachfolgende Aufrufe verwenden diese zwischengespeicherten Daten, ohne Datenbankaufrufe durchzuführen.

Der beste Weg, dies herauszufinden, besteht darin, die Funktionsdokumentation zu lesen und ein Tool wie Query Monitor zu verwenden.

6. Verwenden Sie nicht *

Natürlich ist dies eher ein MySQL-Problem, aber wir sind es gewohnt, SQL-Code in PHP zu schreiben, also ist es das Dasselbe. Unabhängig davon sollten Sie in SQL-Abfragen keine Platzhalter verwenden, wenn Sie dies vermeiden können, insbesondere wenn die Datenbank viele Spalten enthält.

Sie sollten explizit angeben, welche Zeilen erforderlich sind, und nur diese abrufen. Dies trägt dazu bei, den Ressourcenverbrauch zu reduzieren, Daten zu schützen und die Dinge so klar wie möglich zu machen.

Bei SQL müssen Sie alle verfügbaren Funktionen kennen und wenn möglich deren Geschwindigkeit testen. Verwenden Sie beim Berechnen von Mittelwerten, Summen oder ähnlichen numerischen Berechnungen SQL-Funktionen anstelle von PHP-Funktionen. Wenn Sie sich über die Geschwindigkeit einer bestimmten Abfrage nicht sicher sind, testen Sie sie und probieren Sie ein paar andere Zusammenstellungen aus – und verwenden Sie dann die beste.

7. Vertrauen Sie Benutzereingaben nicht

Es ist unklug, Benutzereingaben zu vertrauen. Immer validieren, filtern, entkommen, prüfen und einen Ausweg freilassen. Es gibt drei Probleme mit Benutzerdaten: Wir Entwickler ziehen nicht alle Möglichkeiten in Betracht, sie sind oft falsch und sie könnten absichtlich kompromittiert werden.

Ein gut durchdachtes System schützt vor diesen Bedrohungen. Stellen Sie sicher, dass Sie beim Umgang mit der Datenbank mithilfe integrierter Funktionen wie filter_var() und Escape (oder Vorkompilierung) nach geeigneten Werten suchen.

WordPress verfügt über einige Funktionen, um das Problem zu lösen. Weitere Informationen finden Sie im Artikel Validieren, Escapen und Filtern von Benutzerdaten.

8. Versuchen Sie nicht, schlau zu sein

Ihr Ziel sollte es sein, eleganten Code zu schreiben, der Ihre Absichten klarer zum Ausdruck bringt. Möglicherweise können Sie 0,01 Sekunden pro Seite optimieren, indem Sie alles auf eine Ein-Wort-Variable kürzen, mehrere Ebenen ternärer Logik verwenden und andere Mittel verwenden. Aber das wird nur große Probleme für Sie und Ihre Mitmenschen schaffen.

Benennen Sie Variablen mit Bedacht, dokumentieren Sie Ihren Code und geben Sie Klarheit Vorrang vor Kürze. Noch besser ist es, objektorientierten Standardcode zu verwenden, der mehr oder weniger das Dokument selbst ist, ohne dass eine Reihe von Inline-Werten erforderlich sind.

9. Erfinden Sie das Rad nicht neu

PHP gibt es schon lange, und Websites gibt es schon noch länger. Die Chancen stehen gut, dass jemand, was auch immer Sie bauen müssen, bereits zuvor gebaut hat. Scheuen Sie sich nicht, andere um Unterstützung zu bitten. Github ist Ihr Freund, ebenso wie Composer und Packagist.

Von Protokollierungstools bis hin zu Farbkorrekturtools, von Leistungsanalysatoren bis hin zu Unit-Testing-Frameworks, von der Mailchimp-API bis hin zu Twitter Bootstrap – alles ist auf Knopfdruck (oder durch Eingabe eines Befehls) verfügbar. Nutzen Sie sie!

10. Ignorieren Sie andere Sprachen nicht

Wenn Sie ein PHP-Programmierer sind, können Sie HTML, CSS, JavaScript und MySQL besser verstehen. Es ist Zeit, wieder JavaScript zu lernen. JavaScript ist nicht jQuery, und Sie sollten JavaScript richtig erlernen, um es effizienter nutzen zu können.

Es gibt auch objektorientiertes PHP, das Zeit spart und besser wird, wenn die Codegröße größer ist. Für Sprachen wie C# und Java sind sie auch einfacher zu verstehen, nachdem Sie OOP verstanden haben.

Erweitern Sie Ihr Wissen, indem Sie mehr über Paketmanager, Build-Skripte, CoffeeScript, LESS, SASS, YAML, Skript-Engines und andere leistungsstarke Tools erfahren. Ich empfehle Ihnen dringend, einen Blick auf andere Frameworks zu werfen, insbesondere auf Laravel.

Wie wäre es, wenn Sie Ruby-, RoR-, Android-, iPhone- und Windows Phone-App-Entwicklung erlernen, während Sie sie nutzen, um Dinge brillant zu erledigen? Sie denken vielleicht, das sei sinnlos, weil sie außerhalb Ihrer Komfortzone liegen und nicht den Anforderungen des Jobs entsprechen, aber genau das sind sie. In jeder Sprache gibt es einige praktische Dinge zu lernen, aber auch neue Dinge, denen Sie noch nie zuvor begegnet sind. Es ist kein Zufall, dass alle Top-PHP-Entwickler viele andere Programmiersprachen beherrschen.

Empfohlenes Tutorial: „PHP7-Tutorial

Das obige ist der detaillierte Inhalt vonZehn Fallstricke, die es bei der PHP7-Entwicklung zu vermeiden gilt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

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.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Heiße Themen

PHP-Tutorial
1510
276
Jenseits des Lampenstacks: Rolle von PHP in der modernen Enterprise -Architektur Jenseits des Lampenstacks: Rolle von PHP in der modernen Enterprise -Architektur Jul 27, 2025 am 04:31 AM

PhpisstillrelevantinMoDernEnterpriseEnvironments.1.ModerPhp (7.xand8.x) Angebote, strenge, jitkompilation und moderne Syntax, machte maßgeschneiderte Foreiglableforlarge-ScaleApplikationen

Objektrelationszuordnung (ORM) Leistungsstimmen in PHP Objektrelationszuordnung (ORM) Leistungsstimmen in PHP Jul 29, 2025 am 05:00 AM

Vermeiden Sie N 1 Abfrageprobleme, reduzieren Sie die Anzahl der Datenbankabfragen, indem Sie die zugehörigen Daten im Voraus laden. 2. Wählen Sie nur die erforderlichen Felder aus, um das Laden vollständiger Entitäten zu vermeiden, um Speicher und Bandbreite zu sparen. 3.. Verwenden Sie Cache-Strategien vernünftigerweise, z. 4. Optimieren Sie den Lebenszyklus der Entität und rufen Sie Clear () regelmäßig an, um den Speicher freizugeben, um den Speicherüberlauf zu verhindern. 5. Stellen Sie sicher, dass der Datenbankindex die generierten SQL -Anweisungen existiert und analysiert, um ineffiziente Abfragen zu vermeiden. 6. Deaktivieren Sie die automatische Änderungsverfolgung in Szenarien, in denen Änderungen nicht erforderlich sind, und verwenden Sie Arrays oder Leichtgewichtsmodi, um die Leistung zu verbessern. Die korrekte Verwendung von ORM erfordert die Kombination der SQL -Überwachung, -gespeicherung, der Stapelverarbeitung und der geeigneten Optimierung, um die Anwendungsleistung zu gewährleisten und gleichzeitig die Entwicklungseffizienz beizubehalten.

Aufbau belastbarer Mikrodienste mit PHP und Rabbitmq Aufbau belastbarer Mikrodienste mit PHP und Rabbitmq Jul 27, 2025 am 04:32 AM

Um einen flexiblen PHP -Microservice zu erstellen, müssen Sie Rabbitmq verwenden, um eine asynchrone Kommunikation zu erreichen. 1. Decken Sie den Dienst über Nachrichtenwarteschlangen ab, um Kaskadenfehler zu vermeiden. 2. Konfigurieren Sie persistente Warteschlangen, anhaltende Nachrichten, Freigabebestätigung und manuelles ACK, um die Zuverlässigkeit zu gewährleisten. 3.. Verwenden Sie exponentielle Backoff -Wiederholung, TTL und Dead Letter -Warteschlangenverarbeitungsfehler; 4. Verwenden Sie Tools wie Supervisford, um Verbraucherprozesse zu schützen und Herzschlagmechanismen zu ermöglichen, um die Gesundheit der Service zu gewährleisten. und letztendlich die Fähigkeit des Systems erkennen, kontinuierlich in Fehlern zu arbeiten.

Python Run Shell -Befehlsbeispiel Python Run Shell -Befehlsbeispiel Jul 26, 2025 am 07:50 AM

Verwenden Sie Subprozess.run (), um die Befehle von Shell sicher auszuführen und die Ausgabe zu erfassen. Es wird empfohlen, Parameter in Listen zu übergeben, um Einspritzrisiken zu vermeiden. 2. Wenn die Shell -Eigenschaften erforderlich sind, können Sie Shell = True einstellen, aber achten Sie auf die Befehlsinjektion. 3. verwenden subprocess.popen, um die Echtzeit-Ausgangsverarbeitung zu realisieren. 4. Setzen Sie check = true, um Ausnahmen zu werfen, wenn der Befehl fehlschlägt. 5. Sie können direkt Ketten anrufen, um die Ausgabe in einem einfachen Szenario zu erhalten. Sie sollten Subprozess vorrangig machen. Die obigen Methoden überschreiben die Kernverwendung der Ausführung von Shell -Befehlen in Python.

VSCODE Settings.json Standort VSCODE Settings.json Standort Aug 01, 2025 am 06:12 AM

Die Datei "Settings.JSON" befindet sich auf dem Pfad auf Benutzerebene oder Arbeitsbereichsebene und wird verwendet, um die VSCODE-Einstellungen anzupassen. 1. Benutzer-Level-Pfad: Windows ist C: \ Benutzer \\ AppData \ Roaming \ Code \ User \ Settings.json, MacOS is /users//library/applicationsupport/code/user/settings.json, Linux is /home/.config/code/usser/setings.json; 2. Pfad auf Arbeitsbereichsebene: .VSCODE/Einstellungen im Projekt Root Directory

Erstellen von produktionsbereiten Docker-Umgebungen für PHP Erstellen von produktionsbereiten Docker-Umgebungen für PHP Jul 27, 2025 am 04:32 AM

Die Verwendung des richtigen PHP-Basisbildes und die Konfiguration einer sicheren, leistungsoptimierten Docker-Umgebung ist der Schlüssel zum Erreichen der Produktion. 1. Wählen Sie PHP: 8,3-FPM-Alpine als Grundbild, um die Angriffsfläche zu reduzieren und die Leistung zu verbessern. 2. Deaktivieren Sie gefährliche Funktionen über benutzerdefinierte Php.ini, deaktivieren Sie die Fehleranzeige und aktivieren Sie Opcache und JIT, um die Sicherheit und Leistung zu verbessern. 3.. Verwenden Sie Nginx als Reverse Proxy, um den Zugriff auf sensible Dateien einzuschränken und die PHP-Anforderungen korrekt an PHP-FPM weiterzuleiten. 4. Verwenden Sie mehrstufige Optimierungsbilder, um Entwicklungsabhängigkeiten zu entfernen, und richten Sie nicht Root-Benutzer auf, um Container auszuführen. 5. optionaler Aufsichtsbehörde zum Verwalten mehrerer Prozesse wie Cron; 6. Überprüfen

Die serverlose Revolution: Bereitstellung skalierbarer PHP -Anwendungen mit BREF Die serverlose Revolution: Bereitstellung skalierbarer PHP -Anwendungen mit BREF Jul 28, 2025 am 04:39 AM

Mit Bref ermöglicht es PHP-Entwicklern, skalierbare, kostengünstige Anwendungen zu erstellen, ohne Server zu verwalten. 1.Bref bringt Php nach AWSLambda, indem er eine optimierte PHP -Laufzeitschicht bereitstellt, Php8.3 und andere Versionen unterstützt und sich nahtlos in Frameworks wie Laravel und Symfony integriert. 2.. 3. Führen Sie den Befehl ServerlessDeploy aus, um die Bereitstellung abzuschließen, apiCateway automatisch zu konfigurieren und Zugriffs -URLs zu generieren. 4. Für Lambda -Beschränkungen bietet BREF Lösungen.

Aufbau unveränderlicher Objekte in PHP mit Readonly -Eigenschaften Aufbau unveränderlicher Objekte in PHP mit Readonly -Eigenschaften Jul 30, 2025 am 05:40 AM

ReadOmpropertiesinphp8.2canonlyBeSignedoncinstructororatDeklarationandCannotBemodifiedAfterward, durchsetzungsvermutbarkeitatheluagelevel.2.ToachedevimmiMmutability, WrapMutabletypesLikearrayObjecustomimmutablecollections

See all articles