ホームページ  >  記事  >  バックエンド開発  >  [組織] PHP/HTML を組み合わせる 4 つの方法

[組織] PHP/HTML を組み合わせる 4 つの方法

WBOY
WBOYオリジナル
2016-06-23 13:31:52871ブラウズ

PHP はバックエンド言語であり、ブラウザに表示させるためには HTML コードを出力する必要があります。以下に私が持っている 3 つの PHP/HTML ハイブリッドメソッドを紹介します。 used

1. シングルクォーテーション・ダブルクォーテーションで囲む方法

これは最も基本的な方法です

 1 <?php 2 echo ' 3 <!DOCTYPE html> 4 <html> 5     <head> 6         <title> </title> 7     </head> 8     <body> 9         <span>测试页面</span>10     </body>11 </html>12 ';13 ?>

シングルクォーテーションで囲むだけの最も簡単な方法です

ダブルクォーテーションについては引用符と一重引用符の違いは、前者は引用符内の変数を解析するのに対し、後者は引用符内の変数を解析しないことです。次の例を参照してください

1 <?php2 $Content='Hello!';3 echo "$Content";4 echo '<br>';5 echo '$Content';6 ?>

Output

1 Hello!2 $Content

It二重引用符で囲まれていることがわかります。文字列内の変数名は自動的に変数値に解析され、一重引用符で囲まれていても変数名が表示されます

この書き方のデメリットは2点です

1. 出力内容に一重引用符/二重引用符が含まれている場合、PHP は引用符がプログラムに属するか出力内容に属するかを判断できないため、エラーを報告します

2.この方法では、一部の形式で問題が発生した場合、一部の最新のテキスト エディター (SublimeText など) では、引用符で囲まれた出力コンテンツを構文色付けすることができなくなります。写真はSublimeText3のスクリーンショットです

2. HEREDOC/NOWDOCを使う

HEREDOCとNOWDOCはPHP5.3からサポートされ始めた新機能です。プログラム内のテキストを囲むカスタム識別子の使用を許可します。HEREDOC と NOWDOC の関係は、二重引用符と一重引用符の関係に似ています。前者はブロック内の変数を解析しますが、後者は変数領域を解析しません。ブロック内で

以下では、HEREDOC と NOWDOC の使用法を紹介します

 1 <?php 2 $Content='Hello!'; 3  4 //下面写出了一个HEREDOC,其中标识LABEL可以自定义为任何字符串,但要保证开头的标识和结尾的标识一样 5 echo <<<LABEL 6 $Content 7 LABEL; 8 //结尾的方法:另起一行,打上LABEL。注意结尾的标识前面和后面不要插入任何字符,空格也不行 9 10 echo '<br>';//为了演示方便换行11 12 //NOWDOC和HEREDOC的书写方式差别在于NOWDOC的标识符需要用单引号包围13 echo <<<'LABEL'14 $Content15 LABEL;16 //其他无异17 18 19 ?>

これら 2 つについては、PHP.net の wiki を参照することもできます: https://wiki.php.net/rfc/heredoc-with - 二重引用符

HEREDOC/NOWDOC を使用して記述すると、引用符で囲まれる問題は効果的に解決されますが、構文の色付けの失敗の問題はまだ解決されません

3. HTML に PHP プログラム ブロックを埋め込む (推奨)

これは非常に適した方法であり、この方法は WordPress テンプレートなどの状況で広く使用されています。また、以下に示すように、出力する必要がある場所に関連するコードを直接記述するだけで、より便利です

 1 <?php 2  3 //首先在这里写好相关的调用代码 4 function OutputTitle(){ 5     echo 'TestPage'; 6 } 7 function OutputContent(){ 8     echo 'Hello!'; 9 }10 11 //然后再下面调用相关函数就可以了12 ?>13 14 <!DOCTYPE html>15 <html>16     <head>17         <title><?php OutputTitle(); ?></title>18     </head>19     <body>20         <span><?php OutputContent(); ?></span>21     </body>22 </html>

この方法は 3 つの方法の中で最も優れていると思いますが、そうすることによる欠点もあります。このようなコード ブロックが多すぎると、プログラムの読み取りに重大な影響を及ぼします。

4. フロントエンド テンプレート エンジンを使用する

Web 開発全体におけるフロントエンドの重要性が高まっているため、フロントエンド/バックエンド エンジニアは徐々に 2 つの職種に分離されています。フロントエンド/バックエンドのエンジニアが互いに協力できるようにするため、フロントエンド開発とバックエンド開発の間の接続をより完璧なものにするために、Smarty のような一連のフロントエンド テンプレート エンジンが徐々に生まれてきました。 Smarty を使用して記述された実装コードは非常に読みやすいため、フロントエンドとバックエンドの分離がより効率的かつ便利になります。興味のある学生は検索して調べることができます

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