検索
ホームページphp教程php手册PHP の原則、エラー抑制、埋め込み HTML についての深い理解

PHP は埋め込み HTML をサポートしていますが、PHP ファイル内の PHP タグの外側の HTML は、

を直接出力する場合と何か違いますか?

PHP にはエラー抑制機能「@」が用意されています。どのような場合に使用すればよいですか?

これは、過去 2 日間に一部のネットユーザーから寄せられた一般的な質問です。今後の参考のために、今日は一般的に答えておきます。

PHP ファイルに埋め込まれた HTML を処理する方法

PHP では、構文解析中にタグの外側のすべての文字が T_INLINE_HTML トークンに変換され、すべての T_INLIE_HTML に ZEND_ECHO 出力が割り当てられます。

言い換えれば:

    while($con) {
  1. ?>
  2. ラルエンス
  3. }
  4. ?>
  5. OPLINE が生成されます: T_ECHO、オペランドは "laruence";
結果に関して言えば、上記のコードは実際には次の結果と同じです:

    while($con) {
  1. echo "ラルエンス";
  2. }
  3. ?>
  4. ただし、注意すべき点が 1 つあります。次のような PHP タグの外側の文字は、字句解析プロセス中に 400 文字単位に分割されることです。
if(1) {
  1. ?>
  2. ラルーエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンス ラルエンスラルエンス ラルエンス ラルエンス ラルエンス ラルエンス
  3. }
  4. ?>
  5. 上記のコードでは、タグの外側に 531 文字 (スペースと復帰を含む) があり、2 つの T_INLINE_HTML 出力に分割されます。
  6. エラーサプレッサー

PHP では、エラー サプレッサーを使用してエラー プロンプトを表示しないようにできることはわかっていますが、どのように行うのでしょうか?

文法分析の過程で、以下について:

@include('file');

    ?>
  1. include ステートメントの前後に 2 つの Opline (操作) が挿入されます。これら 2 つの操作は個別に実行されます。
  2. 1. 現在の error_reporting 値を保存し、error_reporting(0) を設定します。
  3. 2. 以前に保存した error_reporting 値を復元します。

つまり、上記のコードは実際には次のコードに似ています:

$old = error_reporting(0);

include('file');

error_reporting($old);
  1. さらに、余談になりますが、「エラー抑制はどのような場合に適用すべきですか?」ということですが、私の個人的な提案は、このステートメントが間違っていても、あなたにはほとんど影響がなく、エラーが何であるかを気にする必要はありません。この種のエラーを処理するための追加ロジックは用意されません。その場合は、エラー抑制を使用できます。それ以外の場合は、追加ロジックを使用してエラーを特定してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

メモ帳++7.3.1

メモ帳++7.3.1

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。