2014-02-10 50 views
0

我仍然在學習PHP,並對構建頁面以及何時在當前頁面中包含php頁面有疑問。作爲一個例子,我有一個允許用戶在數據庫後端創建新記錄的頁面。我首先檢查與數據庫的連接是否正常工作,如果是,我顯示空白表單。目前,我包括它作爲如下:PHP - HTML - 何時包含外部php文件

<?php 
// show the required file if there were no login errors 
if (isset($loginError) && $loginError == '') { 
require 'newContactInc.php'; 
}    
?> 

但我不知道在我走的太遠沿着這條道路,如果這是「最佳實踐」與否。我不想讓自己找到包含在父文件中的太多迷你php文件,但是使用這種方法不需要引用和轉義html,例如,我可以使用:

<div class="form-group"> 

包括文件,而不是

$html = '<div class=\"form-group\">'; 
echo $html; 
etc 

只是想知道,如果有,當你生成HTML使用「最佳實踐」的方法,但只希望有條件地顯示這個?

回答

0

那是讓你的HTML單獨的一個很好的方式但是如果你的目標不是在其他頁面重用這種形式,你可以做以下的,包括它在你的頁面沒有回聲它作爲一個字符串需要:

<?php 
    if (isset($loginError) && $loginError == '') : 
?> 
<form> </form> 
<?php 
    endif; 
?> 

這將只打印表格,如果條件得到滿足。總體而言,儘管您最好將網頁分解爲可重複使用的組件並將它們包括在內,但這不僅是一種更清潔的方法,可以防止不必要的重複標記,但是如果您希望在整個網站上進行更改,只需要編輯一個文件,而不是打開使用該組件的每個頁面並對其進行更改。

+0

謝謝 - 我之前看過那個結構,但從未真正理解它是如何工作的。我沒有意識到你可以在多於1個塊中分割/結束語句。順便說一句,這應該是第2行結束時的分號? – user982124

+0

冒號是正確的語法。分號會打破它。 – Shannon

+0

我補充說,你應該繼續做你正在做的事情,因爲這是一個更好的方式來建立網頁與PHP允許更多的可重用性和更容易的網站範圍的變化。 – Shannon