2017-02-02 10 views
-1

を簡素化ロット!!PHP構文は、私たちは以下のようなコードがある場合に気づいPHPで

+0

はい、それは冗長です。ちょうど悪いコーディング。 PHPでそれをたくさん見て、それを気をつけてください! – miken32

+0

あなたはまだそれらのHTML要素を 'echo'する必要があります。 – miken32

+0

あなたはちょうど結論を引き出すために、最も都合のよいテンプレートスキームを選んでしまった。また、あなたはそれをすることはできません。 HTMLリテラルは、標準PHPではサポートされていません。 – mario

答えて

0

PHPコードは<?php ?>である必要があり、HTMLマークアップは外部にある必要があります。 echoでHTMLマークアップを印刷することもできます。

これは例です(私の意見では、例2よりもはるかにクリーンです)。 HTMLマークアップはPHP文字列内にあります。 the_field()の戻り値は、文字列は、その後、.でconcatedさ:

<?php 
    the_post_thumbnail('square'); 

    if(get_field('quote_url')) { 
     echo '<p class="btn"><a href="'.the_field('quote_url');.'">Request a Quote</a></p>'; 
    } 
    if(get_field('rfq_pdf_url')) { 
     echo '<p class="btn"><a href="'.the_field('rfq_pdf_url');.'">Download PDF</a></p>'; 
    } 
?> 

そして、ここでは別の有効な例(2)です。あなたは?>と出力通常のHTMLマークアップとPHPの一部を終了し、その後<?phpで再びPHPの一部を開始することができます。

<?php 
    the_post_thumbnail('square'); 

    if(get_field('quote_url')) { ?> 
     <p class="btn"><a href=" 
     <?php the_field('quote_url'); ?> 
     ">Request a Quote</a></p> 
    <?php } 
    if(get_field('rfq_pdf_url')) { ?> 
     <p class="btn"><a href=" 
     <?php the_field('rfq_pdf_url');?> 
     ">Download PDF</a></p> 
    <?php } 
?> 

しかし、すべての行に<?phpで始まり、?>で再びそれを終わらせるために冗長になります。

0

別の可能性は次のようになります。

<?php 
    the_post_thumbnail('square'); 
     if(get_field('quote_url')) { 
?>  
      <p class="btn"><a href='<?php echo the_field('quote_url'); ?>'>Request a Quote</a></p> 
<?php 
     } 
     if(get_field('rfq_pdf_url')) { 
?> 
      <p class="btn"><a href="<?php the_field('rfq_pdf_url');?>"">Download PDF</a></p> 
<?php 
     } 
?> 
関連する問題