HTML çıktısı PHP kodu ayıran

0 Cevap php

Çok sık Ben insanların düşündüren duydum (ve ben de bunu bir kaç kez kendim yaptım) şeyler ayrı tutmak için: PHP kodu burada, HTML orada, böylece ve böylece dış CSS, JS ve dış.

Bunun yapmanın bariz Hassasiyet ve bakım avantajları onu yapıyor (sunucu yük veya sayfa işlem süresi açısından örneğin) diğer kuvvetli avantajları vardır?

Önemsiz bir örnek olarak, biz bir DB okunan bazı ürünleri içeren bir tablo uygulamak istediğinizi varsayalım.

İstediğimiz çıkış gibi bir şey olurdu

<div class="description">This table lists all our products</div>
<table class="products">
   <tr>
     <th>Name</th>
     <th>Available</th>
     <th>Price</th>
   </tr>
   <tr>
     <td>Prod 1</td>
     <td>Yes</td>
     <td>$100</td>
   </tr>
  ...
  ...
  </table>
  <div class="info">Some generic info on the products here</div>

Yani burada bazı statik çıktı (2 div elemanları ve tablo başlığı) ve bazı dinamik çıkışı (gerçek tablo içeriği) var.

Biz PHP etiketleri dışında tüm statik şeyleri bırakın ve sadece gerektiği yerde PHP tutmaya deneyebilirsiniz

 <div class="description">This table lists all our products</div>
 <table class="products">         
 <tr>
   <th>Name</th>
   <th>Available</th>
   <th>Price</th>
 </tr>
 <?
 for ($p=0; $p<count($products); $p++)
      {
      echo '<tr>';
      echo '<td>'.$products[$p]["name"].'</td>';
      echo '<td>'.$products[$p]["availability"].'</td>';
      echo '<td>'.$products[$p]["price"].'</td>';
      echo '</tr>';
      }
 ?>
 </table>
 <div>.....</div>

Öte yandan, PHP şeyi embed olabilir

 <?
 echo '<div class="description">This table lists all our products</div>';
 echo '<table class="products"><tr><th>Name</th>'.
      '<th>Available</th><th>Price</th></tr>';

 for ($p=0; $p<count($products); $p++)
      {
      echo '<tr>';
      echo '<td>'.$products[$p]["name"].'</td>';
      echo '<td>'.$products[$p]["availability"].'</td>';
      echo '<td>'.$products[$p]["price"].'</td>';
      echo '</tr>';
      }

 echo '</table>';
 echo '<div>.....</div>';

Diğeri üzerinde birini seçmek için nedenler nelerdir?

0 Cevap