2017-08-06 18 views
1

私はPHPがHTMLに埋め込まれているのはなぜですか、なぜなら、サーバー側とHTMLファイル上でのみ実行されているのはクライアント側のブラウザに読み込まれているからです。なぜPHPはHTMLがサーバサイドで読み込まれて実行されているので、PHPはサーバサイドでのみPHPで書かれていますか?

+0

これは本当に逆ですが、HTMLはPHPに組み込まれています。 PHPはHTMLを出力します – Geoffrey

+0

PHPの開始タグは、タグ内のコードをPHPエンジンで処理し、HTMLコードと見なすべきではないことをWebサーバーに伝えます。これが、HTMLでインラインPHPを使用するのがよい理由です。 –

+0

ありがとうNikos!私は知っている人は <?php ?> そのロールを持っていることを知っている... –

答えて

3

PHPはサーバー側の言語であり、サーバーからクライアントへの出力の前処理に使用できます。クライアントがサーバに特定のページ、たとえば製品の詳細ページ、カレンダー、ブログ記事などを要求すると、PHPはデータベースやその他のストレージ技術からそのページで使用するデータを取得し、クライアントに送信します。

PHPがそのデータをサーバ上のHTMLに入れた場合、クライアントはドキュメント構造、HTMLタグだけでなく、すべてのデータを含むHTMLドキュメントを受信し、別々のファイル、CSSスタイル、Javascriptでホストされていない限りコード。

のように見え、クライアントのためにHTMLを生成します
<h1><?php echo "Hello World!";?></h1> 

<h1>Hello World!</h1> 

PHPはこれを行うための

最も基本的な方法は.phpファイルにそのようなHTMLをインライン化されます

Hello World!と表示されます。

この非常に単純な例では、利点を確認するのは難しいかもしれませんが、ダイナミックデータを使用し始めるとすぐに、現在の日を表示したり、変更された他の情報を表示するなどの簡単な操作を行うと、そのタスクにPHPのようなものを使う利点があります。

1

PHPは有効なコードブロック(<?phpおよび?>など)の1つに囲まれたものだけを処理します。このため、PHPは、処理するように特に指示されていないすべてのものを効果的に無視し、我々の利益に利用することができます。例えば、次のような出力はどうなるでしょうか?

<?php 
$var = 5; 
?> 

$var = 10;<br /> 
The variable $var has a value of: <?=$var?><br /> 

これは有効なスクリプトですか?それは有効なPHPコードの中に囲まれていないので、我々は5〜10の値を変更しようと$varの第二の割り当てと、それは何の影響も与えないこと

$var = 10; 
The variable $var has a value of: 5 

お知らせ:はい、出力は次のようになりますブロック構文。したがって、処理される代わりに、単にWebブラウザに表示されます。

1

埋め込みPHPでHTMLを含むPHPファイルを作成し、ブラウザクライアントがそのファイルをサーバーに尋ねると、ファイル全体がサーバー上に残っていて手つかずのままです。

しかし、要求されたユーザーにファイルが配信される直前に、ファイルが処理されます(サーバーが.phpファイルを処理する場合)、組み込みのPHPが出力に置き換えられます。通常、埋め込まれたPHPコードはブラウザクライアントには届かず、処理されたファイルだけがアクセスします。

1

本のようなHTMLファイルを読むことを想像してください。本の言語はhtmlです。 ApacheなどのWebサーバーがhtmlコードを取得してユーザーに送信します。それを解釈するのはあなたのブラウザです。あなたのブラウザが受け取るのは純粋なテキストです。

ここで、apacheにはPHP拡張機能があります。だから、Webサーバがhtmlコードを読み込んで、突然、<?phpにつまずく?>タグを使用しても、ユーザーには送信されません。代わりに、PHPサーバに送信します。

PHPサーバーがコードを処理し、純粋なhtmlコードのみを返します。その後、すべてがユーザーに送信されます。

関連する問題