2015-05-11 59 views
-3

我創建了許多需要php,html和css的網站。他們都能正常工作,但我現在正在考慮,如果那時我做錯了。 通常,首先我建立網站模板和樣式,然後我編碼php。 然後我只是在HTML中包含PHP函數等。 例如看一看,列出一些職位(的index.php)的表:使用PHP和HTML的正確方法是什麼

 <div class="posts"> 
      <h1 class="content-title">New Posts</h1> 
      <?php 
       $rows = list_posts(); 
       while ($row=mysql_fetch_array($rows)) { 
        echo "         
         <div> 
          <img class='post-avatar' src='img/icon_newsletter.jpg'> 
          <h2 class='post-title'>".$row['post_title']."</h2> 
          <p class='post-meta'> 
           Από <a href='#'>".$row['post_user']."</a> | ".$row['post_date']." | <a class='post-views' href='viewpost.php?id=".$row['post_id']."#comments'>Comments: ".total_comments($row['post_id'])."</a> 
          </p> 
          <p> 
           ".substr($row['post_body'], 0, 180)."... 
          </p> 
          <img class='post-icon-read' src='img/read.png' /> <a href='viewpost.php?id=".$row['post_id']."'>Συνέχεια άρθρου..</a> 
         </div>    
        "; 
       } 
      ?>  
     </div> 
+0

你的問題是什麼? – Anonymous

+0

如果它的作品 - 這是正確的方式 –

+0

我不會迴應HTML標籤,但只有動態內容。太多<?php echo $ variable;當然,但更好的可讀性。我建議將您的HTML模板設置爲html內容,只能使用,您需要在其中回顯動態內容。 – smozgur

回答

0

有改進的餘地。

將HTML保留在PHP中。這不是個人意見,有技術上的原因。

當你這樣做:

html 

<?php PHP ?> 

html 

<?php  ?> 

html 

<?php PHP ?> 

html 

有開銷PHP中,當你來回切換HTML模式和PHP模式之間。它讓你看起來像一個Word Press Hack。


有幾件事情: - 定界符 - 數字陣列 - 逃生行情

先從基本的模板:

echo <<<EOT 
    // Top of page 
EOT; 

while ($row=mysql_fetch_array($rows), MYSQL_NUM) {  

} 
echo <<<EOT 
    // bottom of page 
EOT; 

使用MYSQL_NUM的原因是這樣列值可以在不連接的情況下使用。

而不是

<a href='#'>".$row['post_user']."</a> | ".$row['post_date']." | <a class='post-views' href='viewpost.php?id=".$row['post_id']."#comments'>Comments: ".total_comments($row['post_id'])."</a> 

,你可以這樣做:

$comment = total_comments($row[2]) ; 
echo "<a href=\"#\">$row[0]</a>$row[1]<a class=\"post-views\" href=\"viewpost.php?id=$row[2]#comments\">Comments: $comment</a>"; 

反斜槓將難逃雙引號內的雙引號。引用標記不需要在Heredoc中轉義。

單維數字數組可以在雙引號和Heredoc中使用。


頁首:

echo <<<EOT 
<!DOCTYPE html> 
<html lang="en"><head><title>Page Title</title> 
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Edit Rotation Diet</title> 
<style type="text/css"> 

</style></head> 
<body><div id="page"> 
EOT; 

頁面底部:

echo <<<EOT 
<script type="text/javascript">//<![CDATA[ 


//]]> 
</script></body></html> 
EOT; 

比方說,頁面內容一個表格

<body><div id="page"><table> 
EOT; 

while ($row=mysql_fetch_array($rows), MYSQL_NUM) { 
    echo <<<EOT 

<tr> 
    <td>$row[0]</td> 
    <td>$row[1]</td> 
    <td>$row[2]</td> 
    <td>$row[3]</td> 
</tr> 
EOT; 
} 
echo <<<EOT 
</table> 
<script type="text/javascript">//<![CDATA[ 

縮進HTML和PHP是錯誤的。你應該考慮一下當有人查看源代碼時HTML的外觀。查看大多數Word新聞頁面上的來源..看起來像垃圾。

echo和第一個html之間的空白行給你一個換行符。

當你像HTML一樣回顯HTML時,當你查看源代碼時,它看起來真的很糟糕,就像Word Press一樣。

個人而言,我不喜歡四空間縮進。在你知道它之前,你的代碼被隱藏在正確的邊界之外。我使用兩個空格。

我認爲這是醜陋的垂直空間的浪費:

if($x = 1) 
{ 
    echo '<p>one</p>'; 
} 
else 
} 
    echo '<p>two</p>' 
} 

我想這是很多清晰。沒有過多的垂直滾動/

if($x = 1){ 
    echo '<p>one</p>'; 
} 
else{ 
    echo '<p>two</p> 
} 
相關問題