Inhaltsverzeichnis
HTTP-Verben in PHP: Hintergrund
GET- und POST-HTTP-Methoden
Andere HTTP-Methoden
Änderungen an Nicht-POST-HTTP-Verben
HTTP-Verben in PHP 8.4: Ein Entwicklerhandbuch
Unterstützte Inhaltstypen
php://input
$options Parameter
Heim Backend-Entwicklung PHP-Tutorial Änderungen an HTTP-Verben in PHP 8.4

Änderungen an HTTP-Verben in PHP 8.4

Dec 24, 2024 pm 04:47 PM
php

PHP 8.4 wurde im November veröffentlicht, und Sie und Ihr Team haben keinen Zweifel Ich habe hart daran gearbeitet, die neuen Funktionen, veralteten Elemente usw. zu verstehen Änderungen, die diese neueste Version der Sprache begleiten. Das enthält Änderungen an Nicht-POST-HTTP-Verben.

In diesem Blog gehe ich Durch den Hintergrund von HTTP-Verben in PHP wird erklärt, warum HTTP Änderungen an Verben in PHP 8.4 sind von Bedeutung. Anschließend stelle ich einen Leitfaden für Entwickler zur Verfügung als Referenz bei der Implementierung dieser Änderungen in ihrem Code.

截屏2024-12-24 16.43.04.png

HTTP-Verben in PHP: Hintergrund

PHP wurde mit Blick auf das Web entwickelt und unterstützte die Formularverarbeitung früheste Tage. Ursprünglich gab es in HTTP im Wesentlichen nur zwei Methoden, über die ein Browser eine Webseite anfordern könnte: per GET oder POST.  Während HTML-Formulare immer noch nur diese beiden Methoden wirklich unterstützen, JavaScript kann HTTP-Anfragen mit jeder HTTP-Methode senden. und eine Reihe von Toolkits (z. B. HTMX) können dies sogar für Entwickler nahtlos bewältigen.

GET- und POST-HTTP-Methoden

Eine GET-Anfrage übergibt Formulardaten über die Abfragezeichenfolge der URL. Dies bedeutet, dass die Formularergebnisse mit Lesezeichen versehen, wiederholt und sogar gespeichert werden können zwischengespeichert. Aus diesem Grund werden GET-Anfragen üblicherweise nur für Aktionen verwendet die den Status anfordern, ohne den Status zu ändern: Suchanfragen, Ergebnis Sortierung, Ergebnisfilterung, Paginierung usw.

Wenn Sie eine Leistung erbringen möchten eine Aktion, die Änderungen innerhalb einer Anwendung vornehmen könnte – z. B. Bearbeiten eines Warenkorbs, Senden einer Support-Nachricht, Hochladen einer Bild usw. – Sie verwenden die POST-HTTP-Methode. POST-Anfragen sind gelten als nicht idempotent, was bedeutet, dass sie nicht zwischengespeichert werden können und dies auch nicht tun sollten wiederholt werden, da sie Nebenwirkungen haben. Diese Auswirkungen können Einfügungen, Änderungen oder Löschungen in einer Datenbank, Dateisystemvorgänge, Webanfragen oder etwas anderes bedeuten.

In Um die Verarbeitung von Formulardaten zu automatisieren, bietet PHP mehrere superglobale Variablen, die aus der eingehenden Anfrage gefüllt werden. $_GET wird mit URL-Abfragezeichenfolgenargumenten gefüllt und kann von jeder Anforderungsmethode aus gefüllt werden. $_POST wird jedoch nur aus dem Hauptteil von POST-Anfragen gefüllt, die mit dem Inhaltstyp application/x-www-form-urlencoded erstellt wurden, was etwa so aussehen könnte:

title=HTTP Verbs Changes in PHP 8.4&url=https://example.org/blog/php-8.4-http-verbs&author=Just Some Guy&tags[0]=php&tags[1]=http
Nach dem Login kopieren
Nach dem Login kopieren


PHP wird es tun Nehmen Sie das und füllen Sie das Superglobal $_POST so auf, dass es wie folgt aussieht:

<?php $_POST = [
    &#39;title&#39; => 'HTTP Verbs Changes in PHP 8.4',
    'url' => 'https://example.org/blog/php-8.4-http-verbs',
    'author' => 'Just Some Guy',
    'tags' => ['php', 'http'],
];
Nach dem Login kopieren
Nach dem Login kopieren


Die Tatsache, dass PHP dies hinter den Kulissen tut Sie sind Teil dessen, was das Erlernen und den Einstieg in PHP so einfach macht.

Darüber hinaus kann es auch den Inhaltstyp multipart/form-data verarbeiten, der es einem Browser ermöglicht, neben der Bereitstellung von Formulardaten auch Dateien hochzuladen. Dabei werden zusätzliche $_FILES aufgefüllt superglobal, das Informationen zu den hochgeladenen Dateien bereitstellt; Entwickler können diese Dateien dann vor dem Speichern validieren und vorverarbeiten sie an einem festen Ort.

Andere HTTP-Methoden

Es gibt viel mehr HTTP-Methoden als GET und POST und Entwickler für das Web Oft möchten Sie verschiedene Methoden wählen, um den Kontext für das bereitzustellen, was Sie versuchen Folgendes zu tun:

  • PUT wird häufig verwendet, um anzuzeigen, dass die Daten vorhandene Daten ersetzen sollen.
  • PATCH wird häufig verwendet, um anzuzeigen, dass eine teilweise Aktualisierung eines vorhandenen Datensatzes erfolgt erstellt wird.
  • DELETE wird verwendet, um anzugeben, dass der übermittelte Datensatz oder Inhalt gelöscht oder als gelöscht markiert werden soll.

Während Browser unterstützen diese (noch!) nicht nativ, viele JavaScript-Frameworks und -Bibliotheken schon.

Aber Es gibt einen Haken: PHP verarbeitet diese Anfragen nicht automatisch. In Tatsächlich müssen Sie das Parsen dieser Daten vollständig selbst übernehmen kann äußerst problematisch sein, wenn Sie auch mit Datei-Uploads beginnen sowie Formulardaten. (Rollen Sie niemals Ihre eigenen Parser!)

Änderungen an Nicht-POST-HTTP-Verben

PHP 8.4 führt die Methode request_parse_body() ein:

title=HTTP Verbs Changes in PHP 8.4&url=https://example.org/blog/php-8.4-http-verbs&author=Just Some Guy&tags[0]=php&tags[1]=http
Nach dem Login kopieren
Nach dem Login kopieren


Die Die Funktion analysiert die eingehende Anfrage auf die gleiche Weise wie immer für POST-Anfragen, ermöglicht Ihnen jedoch die Angabe alternativer Variablen für Speichern Sie die Formulardaten und Datei-Uploads in (oder überschreiben Sie die Superglobals, wenn Sie es vorziehen). Sie können das Verhalten des Parsers auch über das Argument $options ändern, mehr dazu weiter unten.

Ein häufiges Muster wird wahrscheinlich sein:

<?php $_POST = [
    &#39;title&#39; => 'HTTP Verbs Changes in PHP 8.4',
    'url' => 'https://example.org/blog/php-8.4-http-verbs',
    'author' => 'Just Some Guy',
    'tags' => ['php', 'http'],
];
Nach dem Login kopieren
Nach dem Login kopieren


(Obwohl Sie Wenn Sie ein Framework verwenden, erwarten Sie, dass das Framework sich um dieses Detail für Sie kümmert.)

Das ist buchstäblich die Gesamtheit des Features. Eine einfach bereitzustellende Funktion schlüsselfertiges Verhalten, mit dem Sie als PHP-Entwickler bereits vertraut sind. Es Viel besser geht es nicht!

HTTP-Verben in PHP 8.4: Ein Entwicklerhandbuch

Jetzt dass wir die Änderungen an HTTP-Verben in PHP 8.4 besprochen haben, lassen Sie uns Sehen Sie sich einige Beispiele an, wie Sie diese nutzen und anwenden können Aktualisierungen in Ihrem Code.

Unterstützte Inhaltstypen

Genau wie POST-Anfragen analysiert request_parse_body() nur Anfragen mit dem folgenden Inhalt Typen:

  • application/x-www-form-urlencoded
  • multipart/form-data

Bei application/x-www- form-urlencoded, das $_FILES-Äquivalent Das Array (Index 1 im zurückgegebenen Array) ist leer. Wenn der Inhalt Wenn der Typ nicht unterstützt wird, löst die Funktion eine InvalidArgumentException aus.

php://input

PHP ermöglicht Ihnen die Überprüfung des Rohinhalts der Anfrage über den php://input-Stream. Dabei handelt es sich um einen gepufferten Stream, der (ab PHP 7.4) mehrfach gelesen werden kann. Allerdings beim Empfang von Multipart-/Formulardaten Inhalt wird PHP aus einem sehr guten Grund etwas destruktiv: Pufferung Dateien könnten dazu führen, dass der Dateiinhalt zweimal auf die Festplatte geschrieben wird, Dies führt zu mehr Arbeitsspeicher, Speicherplatz und E/A-Nutzung.

Daher DARF request_parse_body() NICHT zweimal aufgerufen werden, da es php://input destruktiv verbraucht.

$options Parameter

Der $options-Parameter für request_parse_body() ermöglicht es Ihnen, sein Verhalten zur Laufzeit zu ändern, anstatt sich auf fest codierte Parameter zu verlassen php.ini-Konfiguration.

  • Geben Sie post_max_size für die maximale Inhaltsgröße an, die analysiert werden soll.
  • Geben Sie max_input_vars an, um zu begrenzen, wie viele Formularvariablen analysiert werden sollen.
  • Geben Sie die upload_max_filesize an, um die Größe einzelner Dateien zu begrenzen handle.
  • Geben Sie „max_file_uploads“ an, um zu begrenzen, wie viele Datei-Uploads verarbeitet werden.
  • Geben Sie „max_multipart_body_parts“ an, um die Kombination von Datei-Uploads und Formulardatenvariablen zu begrenzen, die analysiert werden.

Das obige ist der detaillierte Inhalt vonÄnderungen an HTTP-Verben in PHP 8.4. 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

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

Video Face Swap

Video Face Swap

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

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 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)

Heiße Themen

Java-Tutorial
1671
14
PHP-Tutorial
1276
29
C#-Tutorial
1256
24
PHP vs. Python: Verständnis der Unterschiede PHP vs. Python: Verständnis der Unterschiede Apr 11, 2025 am 12:15 AM

PHP und Python haben jeweils ihre eigenen Vorteile, und die Wahl sollte auf Projektanforderungen beruhen. 1.PHP eignet sich für die Webentwicklung mit einfacher Syntax und hoher Ausführungseffizienz. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit präziser Syntax und reichhaltigen Bibliotheken.

PHP: Eine Schlüsselsprache für die Webentwicklung PHP: Eine Schlüsselsprache für die Webentwicklung Apr 13, 2025 am 12:08 AM

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

PHP und Python: Vergleich von zwei beliebten Programmiersprachen PHP und Python: Vergleich von zwei beliebten Programmiersprachen Apr 14, 2025 am 12:13 AM

PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

PHP in Aktion: Beispiele und Anwendungen in realer Welt PHP in Aktion: Beispiele und Anwendungen in realer Welt Apr 14, 2025 am 12:19 AM

PHP wird in E-Commerce, Content Management Systems und API-Entwicklung häufig verwendet. 1) E-Commerce: Wird für die Einkaufswagenfunktion und Zahlungsabwicklung verwendet. 2) Content -Management -System: Wird für die Erzeugung der dynamischen Inhalte und die Benutzerverwaltung verwendet. 3) API -Entwicklung: Wird für die erholsame API -Entwicklung und die API -Sicherheit verwendet. Durch Leistungsoptimierung und Best Practices werden die Effizienz und Wartbarkeit von PHP -Anwendungen verbessert.

Die dauerhafte Relevanz von PHP: Ist es noch am Leben? Die dauerhafte Relevanz von PHP: Ist es noch am Leben? Apr 14, 2025 am 12:12 AM

PHP ist immer noch dynamisch und nimmt immer noch eine wichtige Position im Bereich der modernen Programmierung ein. 1) Einfachheit und leistungsstarke Unterstützung von PHP machen es in der Webentwicklung weit verbreitet. 2) Seine Flexibilität und Stabilität machen es ausstehend bei der Behandlung von Webformularen, Datenbankoperationen und Dateiverarbeitung; 3) PHP entwickelt sich ständig weiter und optimiert, geeignet für Anfänger und erfahrene Entwickler.

PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

Php gegen andere Sprachen: Ein Vergleich Php gegen andere Sprachen: Ein Vergleich Apr 13, 2025 am 12:19 AM

PHP eignet sich für die Webentwicklung, insbesondere für die schnelle Entwicklung und Verarbeitung dynamischer Inhalte, ist jedoch nicht gut in Anwendungen auf Datenwissenschaft und Unternehmensebene. Im Vergleich zu Python hat PHP mehr Vorteile in der Webentwicklung, ist aber nicht so gut wie Python im Bereich der Datenwissenschaft. Im Vergleich zu Java wird PHP in Anwendungen auf Unternehmensebene schlechter, ist jedoch flexibler in der Webentwicklung. Im Vergleich zu JavaScript ist PHP in der Back-End-Entwicklung präziser, ist jedoch in der Front-End-Entwicklung nicht so gut wie JavaScript.

PHP und Python: Code Beispiele und Vergleich PHP und Python: Code Beispiele und Vergleich Apr 15, 2025 am 12:07 AM

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.

See all articles