2012-02-07 5 views
2

次の2つのコードの違いは何ですか?バージョンBはオープンタグとクローズタグを過度に使用して読むのが難しいようですが、このフォーマットを使用したチュートリアルやサンプルがたくさんあります。どちらかといえば手続き上の理由があるか、それともこの個人的な好みですか?PHP内でHTMLを囲むことと囲まないことの違いは何ですか?

バージョンA(PHPで囲まれた)

<?php 
    $test = array('a','b','c'); 

    if (isset($test)) 
     { 
     echo '<div id="testmessage"> 
       <h2> 
        Test Message Below 
       </h2> 
       <ul>'; 

     foreach ($test as $t) 
      { 
      echo '<li>'.$t.'</li>'; 
      } 

     echo '</ul>'; 
     echo '</div>'; 

     } 
?> 

バージョンB(複数のオープンタグと終了タグ)

<?php $test = array('a','b','c'); 
     if (isset($test)){ 
?> 

    <div id="testmessage"> 
     <h2> 
      Test Message Below 
     </h2> 
     <ul> 

    <?php 
     foreach ($test as $t) 
     { 
    ?> 

    <li><?php echo $t; ?></li> 

    <?php 
     } 
    ?> 

     </ul> 
    </div> 

<?php 
} 
?> 

答えて

0

実際の違いはありませんが、それほど奨励されていません。

そして、私はあなたにBよりも少し良く読むかもしれないバージョンのCを与える:

<?php 
    $test = array('a','b','c'); 
    if (isset($test)): ?> 

    <div id="testmessage"> 
     <h2> 
      Test Message Below 
     </h2> 
     <ul> 

    <?php foreach ($test as $t): ?> 

    <li><?php echo $t; ?></li> 

    <?php endforeach; ?> 

     </ul> 
    </div> 

<?php endif; ?> 
+0

個人的な好みとして、私はこのスタイルが嫌いです。なぜなら、それはVBをあまりにも思い起こさせ、VBは私をうっすらせるからです。 :) – qJake

+0

@SpikeXああ、ランダムに '' 'と' {' – Neal

+0

に正しくインデントしないと、はるかに簡単です。 ;)あなたのHTML *は、かっこの中にあるかのように括弧で囲まれていなければなりません。 – qJake

-1

PHPはそれらのHTML文字列を格納する際に使用するメモリを除いて何もありません、。 PHPスクリプトにHTMLを含めないことで、最終的にPHPパーサのサイズ(ひずみ)を減らすことができます。これは、読み込んだPHPスクリプトが最終的に小さくなるからです。

バージョンBは、バージョンBがより優れていますが、わずかです。ほとんどの場合、違いを気付かないでしょう。

-1

実用的な違いはありません - スタイルだけの問題で。

あなたがHTMLに引用符などをエスケープする必要はありませんので、あなたは、第二の方法を好むかもしれません。

+0

めちゃくちゃます(downvotersを、説明してください) –

+0

実用的考えるとき、維持するのは難しいですので、バージョンAはお勧めできません。 – afuzzyllama

0
  • Aは、BがネイティブPHPのテンプレートエンジン用のテンプレート(例えばZendのビュー)のように見えます

それは本当にスタイルだけだPHPとHTMLを組み合わせる標準ハックアウェイスタイルのように見えます - しかし、私はテンプレートエンジンと組み合わせてBを好む。

0

Bは読みにくいと思うかもしれませんが、実際には保守が簡単です。あなたがそこに持っているものは、テンプレートとして大まかに説明することができます。

あなたがPHPで、バージョンAのようなHTMLを埋め込むために起動すると、あなたが後であなたのページの外観を変更する必要がある場合、何が起こりますか?ページのレイアウトを変更したい場合はどうなりますか?あなたのサイトのヘッダー、フッター、メインのコンテンツブロックを管理することは、より組織となり、あなたのhtmlでjavascipt/jqueryの、CSSなどの技術を組み合わせることにより

は、私はあなたが長期的にあなたの人生が容易になりますテンプレートを使用して見つけることだと思います。あなたが外に出て、あなた自身でそれをラップする必要があると思う前に、many template engines to choose fromがあります。

関連する問題