PHP 8.4 での HTTP 動詞の変更
PHP 8.4 は 11 月にリリースされました。あなたとあなたのチームは疑いの余地がありません 新機能、非推奨事項、および この言語の最新の反復に伴う変更。これ 非 POST HTTP 動詞への変更が含まれています。
このブログでは、私は歩きます PHP の HTTP 動詞の背景を通して、HTTP がなぜ使われるのかを説明します。 PHP 8.4 での動詞の変更が問題です。次に、開発者向けのガイドを提供します これらの変更をコード内に実装するときに参照します。
PHP の HTTP 動詞: バックグラウンド
PHP Web を念頭に置いて開発され、Web からのフォーム処理をサポートしていました。 最初の頃。もともと HTTP には基本的に 2 つしかありませんでした。 ブラウザが Web ページをリクエストできるメソッド: GET または POST。 HTML フォームはまだ実際にはこれら 2 つのメソッドのみをサポートしていますが、 JavaScript には、任意の HTTP メソッドを使用して HTTP リクエストを送信する機能があります。
GET および POST HTTP メソッド
GET リクエストは、URL のクエリ文字列を介してフォーム データを渡します。 これは、フォームの結果をブックマークしたり、繰り返したり、さらには キャッシュされた。このため、GET リクエストは通常、アクションにのみ使用されます。 状態を変更せずに状態を要求しているもの: 検索、結果 並べ替え、結果のフィルタリング、ページネーションなど
を実行したい場合 アプリケーション内で変更を加える可能性のあるアクション — 例: ショッピング カートの処理、サポート メッセージの送信、 画像など — POST HTTP メソッドを使用します。 POSTリクエストは 非冪等であるとみなされます。つまり、キャッシュできないため、キャッシュすべきではありません。 副作用があるので繰り返します。これらの影響は、データベース、ファイルシステム操作、Web リクエスト、その他の挿入、変更、削除を意味する可能性があります。
フォームデータの処理を自動化するために、PHP にはいくつかの機能が用意されています。 受信リクエストから設定されるスーパーグローバル変数。 $_GET には URL クエリ文字列引数が設定され、任意のリクエスト メソッドから設定できます。ただし、$_POST は、コンテンツ タイプ application/x-www-form-urlencoded を使用して作成された POST リクエストの本文からのみ設定されます。これは次のようになります。
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
PHP は次のようになります。それを取得し、次のように $_POST スーパーグローバルを設定します。
<?php $_POST = [ 'title' => 'HTTP Verbs Changes in PHP 8.4', 'url' => 'https://example.org/blog/php-8.4-http-verbs', 'author' => 'Just Some Guy', 'tags' => ['php', 'http'], ];
という事実PHP がこれを舞台裏で行うことは、PHP の学習と開始を非常に容易にする理由の 1 つです。
さらに、コンテンツ タイプ multipart/form-data も処理できます。これにより、ブラウザーはフォーム データの提供に加えてファイルをアップロードできるようになります。その際、追加の $_FILES が設定されます。 スーパーグローバル: アップロードされたファイルに関する情報を提供します。 開発者は、保存する前にそれらのファイルを検証して前処理できます。
その他の HTTP メソッド
があります。 GET や POST よりもはるかに多くの HTTP メソッド、および Web の開発者 多くの場合、内容のコンテキストを提供するために別の方法を選択する必要があります。
- PUT は、データで既存のデータを置き換える必要があることを示すためによく使用されます。
- PATCH は、既存のレコードの部分的な更新が必要であることを示すためによく使用されます。
- DELETE は、送信されたレコードまたはコンテンツを削除するか、マークを付ける必要があることを示すために使用されます。削除されました。
ブラウザはこれらをネイティブに (まだ!) サポートしていませんが、多くの JavaScript フレームワークとライブラリはサポートしています。
しかし 落とし穴があります。PHP はこれらのリクエストを自動的に処理しません。で 実際、これらの解析は完全に自分で処理する必要があります。 ファイルのアップロードも処理し始めると、大きな問題が発生する可能性があります。 フォームデータも。 (独自のパーサーを作成しないでください!)
非 POST HTTP 動詞への変更
PHP 8.4 では、メソッド request_parse_body():
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
が導入されました。
関数は、いつもと同じ方法で受信リクエストを解析します。
POST リクエスト用ですが、代わりの変数を指定することもできます。
フォーム データとファイルのアップロードを保存します (またはスーパーグローバルを上書きします)。
お好みであれば)。 $options 引数を使用してパーサーの動作を変更することもできます。詳細については以下で説明します。
一般的なパターンは次のとおりです。
<?php $_POST = [ 'title' => 'HTTP Verbs Changes in PHP 8.4', 'url' => 'https://example.org/blog/php-8.4-http-verbs', 'author' => 'Just Some Guy', 'tags' => ['php', 'http'], ];
(ただし、フレームワークを使用しているので、フレームワークがその詳細を処理してくれることを期待してください。)
それは 文字通り、機能全体です。提供するシンプルな機能 これは、PHP 開発者としてすでに慣れ親しんだターンキー動作です。それ これ以上に優れたものはありません!
PHP 8.4 の HTTP 動詞: 開発者ガイド
Now PHP 8.4 での HTTP 動詞の変更について説明しました。次に見てみましょう。 これらを使用および適用する方法について、いくつかの例を見てみましょう。
サポートされているコンテンツ タイプ
POST リクエストと同様に、request_parse_body() は次のコンテンツを含むリクエストのみを解析します。タイプ:
- application/x-www-form-urlencoded
- multipart/form-data
application/x-www-の場合form-urlencoded、$_FILES に相当するもの 配列 (返された配列のインデックス 1) は空になります。コンテンツの場合 型がサポートされていない場合、関数は InvalidArgumentException をスローします。
php://input
PHP では、php://input ストリームを介して生のリクエスト コンテンツを検査できます。これはバッファリングされたストリームであり、(PHP 7.4 以降では) 複数回読み取ることができます。ただし、multipart/form-data受信時は コンテンツの場合、PHP は少し破壊的になります。これには非常に正当な理由があります: バッファリング ファイルにより、ファイルの内容がディスクに 2 回書き込まれる可能性があります。 メモリ、ストレージ、I/O の使用量が増加します。
そのため、php://input を破壊的に消費するため、request_parse_body() を 2 回呼び出してはなりません。
$optionsパラメータ
request_parse_body() の $options パラメータを使用すると、次のパラメータに依存するのではなく、実行時にその動作を変更できます。ハードコーディングされた php.ini 設定。
- 解析を試行する最大コンテンツ サイズの post_max_size を指定します。
- 解析を試行するフォーム変数の数を制限するには、max_input_vars を指定します。 parse.
- アップロードする個々のファイルのサイズを制限するには、upload_max_filesize を指定します。ハンドル。
- 処理するファイル アップロードの数を制限するには、max_file_uploads を指定します。
- 解析するファイル アップロードとフォーム データ変数の組み合わせを制限するには、max_multipart_body_parts を指定します。
以上がPHP 8.4 での HTTP 動詞の変更の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。
