国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
PHP の HTTP 動詞: バックグラウンド
GET および POST HTTP メソッド
その他の HTTP メソッド
非 POST HTTP 動詞への変更
PHP 8.4 の HTTP 動詞: 開発者ガイド
サポートされているコンテンツ タイプ
php://input
$optionsパラメータ

PHP 8.4 での HTTP 動詞の変更

Dec 24, 2024 pm 04:47 PM
php

PHP 8.4 は 11 月にリリースされました。あなたとあなたのチームは疑いの余地がありません 新機能、非推奨事項、および この言語の最新の反復に伴う変更。これ 非 POST HTTP 動詞への変更が含まれています。

このブログでは、私は歩きます PHP の HTTP 動詞の背景を通して、HTTP がなぜ使われるのかを説明します。 PHP 8.4 での動詞の変更が問題です。次に、開発者向けのガイドを提供します これらの変更をコード內(nèi)に実裝するときに參照します。

截屏2024-12-24 16.43.04.png

PHP の HTTP 動詞: バックグラウンド

PHP Web を念頭に置いて開発され、Web からのフォーム処理をサポートしていました。 最初の頃。もともと HTTP には基本的に 2 つしかありませんでした。 ブラウザが Web ページをリクエストできるメソッド: GET または POST。 ?HTML フォームはまだ実際にはこれら 2 つのメソッドのみをサポートしていますが、 JavaScript には、任意の HTTP メソッドを使用して HTTP リクエストを送信する機能があります。

GET および POST HTTP メソッド

GET リクエストは、URL のクエリ文字列を介してフォーム データを渡します。 これは、フォームの結(jié)果をブックマークしたり、繰り返したり、さらには キャッシュされた。このため、GET リクエストは通常??、アクションにのみ使用されます。 狀態(tài)を変更せずに狀態(tài)を要求しているもの: 検索、結(jié)果 並べ替え、結(jié)果のフィルタリング、ページネーションなど

を?qū)g行したい場合 アプリケーション內(nèi)で変更を加える可能性のあるアクション — 例: ショッピング カートの処理、サポート メッセージの送信、 畫像など — POST HTTP メソッドを使用します。 POSTリクエストは 非冪等であるとみなされます。つまり、キャッシュできないため、キャッシュすべきではありません。 副作用があるので繰り返します。これらの影響は、データベース、ファイルシステム操作、Web リクエスト、その他の挿入、変更、削除を意味する可能性があります。

フォームデータの処理を自動化するために、PHP にはいくつかの機能が用意されています。 受信リクエストから設定されるスーパーグローバル変數(shù)。 $_GET には URL クエリ文字列引數(shù)が設定され、任意のリクエスト メソッドから設定できます。ただし、$_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 = [
    &#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'],
];


という事実PHP がこれを舞臺裏で行うことは、PHP の學習と開始を非常に容易にする理由の 1 つです。

さらに、コンテンツ タイプ multipart/form-data も処理できます。これにより、ブラウザーはフォーム データの提供に加えてファイルをアップロードできるようになります。その際、追加の $_FILES が設定されます。 スーパーグローバル: アップロードされたファイルに関する情報を提供します。 開発者は、保存する前にそれらのファイルを検証して前処理できます。

その他の HTTP メソッド

があります。 GET や POST よりもはるかに多くの HTTP メソッド、および Web の開発者 多くの場合、內(nèi)容のコンテキストを提供するために別の方法を選択する必要があります。

  • 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


が導入されました。 関數(shù)は、いつもと同じ方法で受信リクエストを解析します。 POST リクエスト用ですが、代わりの変數(shù)を指定することもできます。 フォーム データとファイルのアップロードを保存します (またはスーパーグローバルを上書きします)。 お好みであれば)。 $options 引數(shù)を使用してパーサーの動作を変更することもできます。詳細については以下で説明します。

一般的なパターンは次のとおりです。

<?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'],
];


(ただし、フレームワークを使用しているので、フレームワークがその詳細を処理してくれることを期待してください。)

それは 文字通り、機能全體です。提供するシンプルな機能 これは、PHP 開発者としてすでに慣れ親しんだターンキー動作です。それ これ以上に優(yōu)れたものはありません!

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) は空になります。コンテンツの場合 型がサポートされていない場合、関數(shù)は InvalidArgumentException をスローします。

php://input

PHP では、php://input ストリームを介して生のリクエスト コンテンツを検査できます。これはバッファリングされたストリームであり、(PHP 7.4 以降では) 複數(shù)回読み取ることができます。ただし、multipart/form-data受信時は コンテンツの場合、PHP は少し破壊的になります。これには非常に正當な理由があります: バッファリング ファイルにより、ファイルの內(nèi)容がディスクに 2 回書き込まれる可能性があります。 メモリ、ストレージ、I/O の使用量が増加します。

そのため、php://input を破壊的に消費するため、request_parse_body() を 2 回呼び出してはなりません。

$optionsパラメータ

request_parse_body() の $options パラメータを使用すると、次のパラメータに依存するのではなく、実行時にその動作を変更できます。ハードコーディングされた php.ini 設定。

  • 解析を試行する最大コンテンツ サイズの post_max_size を指定します。
  • 解析を試行するフォーム変數(shù)の數(shù)を制限するには、max_input_vars を指定します。 parse.
  • アップロードする個々のファイルのサイズを制限するには、upload_max_filesize を指定します。ハンドル。
  • 処理するファイル アップロードの數(shù)を制限するには、max_file_uploads を指定します。
  • 解析するファイル アップロードとフォーム データ変數(shù)の組み合わせを制限するには、max_multipart_body_parts を指定します。

以上がPHP 8.4 での HTTP 動詞の変更の詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

コメントする理由:PHPガイド コメントする理由:PHPガイド Jul 15, 2025 am 02:48 AM

phphastthreecommentStyles://,#forsingle-lineand/.../formulti-line.usecommentstoexplainwhycodeexists、whatittodo/fixmeitemsanddisablecodecodemcodecodecodecodemprianydedebugging.avoidoversingingsingingsingingsingingsingingsingingsingingsimmentingsimmentingsimplelatic.decratecentecentic.

WindowsにPHPをインストールする方法 WindowsにPHPをインストールする方法 Jul 15, 2025 am 02:46 AM

WindowsにPHPをインストールするための重要な手順には次のものがあります。1。適切なPHPバージョンをダウンロードして解凍します。 apacheでthreadsafeバージョンまたはnginxを使用して非threadsafeバージョンを使用することをお勧めします。 2。php.iniファイルを構(gòu)成し、php.ini-developmentまたはphp.ini-productionにphp.iniに名前を変更します。 3.コマンドラインの使用のために、システム環(huán)境変數(shù)パスにPHPパスを追加します。 4. PHPが正常にインストールされているかどうかをテストするには、コマンドラインを介してPHP-Vを?qū)g行し、組み込みサーバーを?qū)g行して解析機能をテストします。 5.Apacheを使用する場合、httpd.confでPを構(gòu)成する必要があります

PHP構(gòu)文:基本 PHP構(gòu)文:基本 Jul 15, 2025 am 02:46 AM

PHPの基本的な構(gòu)文には4つのキーポイントが含まれています。1。PHPタグを終了する必要があり、完全なタグの使用が推奨されます。 2。エコーと印刷は、一般的に出力コンテンツに使用されます。その中には、エコーは複數(shù)のパラメーターをサポートし、より効率的です。 3。注釈方法には、コードの読みやすさを改善するための//、#、//が含まれます。 4.各ステートメントはセミコロンで終了する必要があり、スペースとラインブレークは実行に影響を與えず、読みやすさに影響します。これらの基本的なルールを習得すると、明確で安定したPHPコードの作成に役立ちます。

PHP 8インストールガイド PHP 8インストールガイド Jul 16, 2025 am 03:41 AM

ubuntuにphp8をインストールする手順は次のとおりです。1。ソフトウェアパッケージリストを更新します。 2。PHP8および基本コンポーネントをインストールします。 3.バージョンを確認して、インストールが成功していることを確認します。 4.必要に応じて追加のモジュールをインストールします。 Windowsユーザーは、ZIPパッケージをダウンロードおよび解凍し、構(gòu)成ファイルを変更し、拡張機能を有効にし、環(huán)境変數(shù)へのパスを追加できます。 MacOSユーザーは、HomeBrewを使用してインストールし、TAPの追加、PHP8のインストール、デフォルトバージョンの設定、バージョンの検証などの手順を?qū)g行することをお勧めします。インストール方法は異なるシステムで異なりますが、プロセスは明確であるため、目的に応じて適切な方法を選択できます。

PHPとは何ですか?それは何に使用されますか? PHPとは何ですか?それは何に使用されますか? Jul 16, 2025 am 03:45 AM

phpisaserver-sidesscriptinglanguageUsedforwebdevelopment、特にfordynamicwebsitesandcmsplatformslikewordpress.itrunsontheserver、processesdata、interactswithdatabases、andsendshtmltobrowsers.commonusesincludeurauthingication、e-commerceplatoblatoblotoftoflotfontiblotionforthentication

Python他の例 Python他の例 Jul 15, 2025 am 02:55 AM

PythonのIfelseステートメントを書くための鍵は、論理構(gòu)造と詳細を理解することです。 1.インフラストラクチャは、條件が確立されている場合、コードを?qū)g行することです。 2.多條件判斷はElifで実施され、順次実行され、満たされると停止します。 3。ネストされている場合、さらに區(qū)畫の判斷に使用されている場合、2つの層を超えないことをお勧めします。 4.単純なシナリオでは、単純なifelseを置き換えるために、三元式を使用できます。インデント、條件付き順序、論理的完全性に注意を払うことによってのみ、明確で安定した判斷コードを書くことができます。

最初のPHPスクリプト:実用的な紹介 最初のPHPスクリプト:実用的な紹介 Jul 16, 2025 am 03:42 AM

最初のPHPスクリプトの書き始め方法は?まず、ローカル開発環(huán)境をセットアップし、XAMPP/MAMP/LAMPをインストールし、テキストエディターを使用してサーバーの実行原則を理解します。第二に、hello.phpというファイルを作成し、基本コードを入力してテストを?qū)g行します。第三に、PHPとHTMLを使用して動的なコンテンツ出力を?qū)g現(xiàn)することを?qū)Wびます。最後に、セミコロンの欠落、引用の問題、ファイル拡張エラーなどの一般的なエラーに注意し、デバッグのエラーレポートを有効にします。

PHPで未定義のインデックスを処理する方法 PHPで未定義のインデックスを処理する方法 Jul 15, 2025 am 02:08 AM

アレイに存在しないキーにアクセスされるため、「未定義のインデックス」エラーが発生します。ソリューションには次のものが含まれます。1。ISSET()を使用して、ユーザー入力の処理に適したキーが存在するかどうかを確認します。 2。array_key_exists()を使用して、キーが設定されているかどうかを判斷し、値がnullであっても認識できます。 3.空のマージオペレーターを使用しますか??未定義のキーに直接アクセスしないようにデフォルト値を設定するには。さらに、フォームフィールド名の綴りなどの一般的な問題に注意を払う必要があります。データベースの結(jié)果は空です。配列の開梱は確認されず、子キーがforeachをチェックインせず、session_start()は呼び出されません。

See all articles