fetchdata.php - 發送所需的數據分離用戶界面和數據庫開發在PHP應用
function FetchItems()
{
while($Items = mysql_fetch_object("SELECT * FROM items")) //function is deprecated, would be changing it
{
$TotalItems[] = $Items;
}
return $TotalItems;
}
listitems.php - 用於用戶界面和項目的列表顯示給用戶
require_once('fetchdata.php');
$Items = FetchItems();
echo '<table>';
foreach($Items as $ItemDetails)
{
echo '<tr>';
echo '<td>';
echo $ItemDetails->ItemName; // right now the UI developer requires the actual column names to display data but I don't want this
echo '</td>';
echo '<td>';
echo $ItemDetails->ItemQty;
echo '</td>';
echo '<td>';
echo $ItemDetails->ItemCost;
echo '</td>';
echo '</tr>';
}
echo '</table>';
我需要分開mysql開發和用戶界面開發,以便在不同的人之間分配工作量。 UI開發人員不應要求實際的列名/表名/數據庫名向用戶顯示數據。 但這些只會被後端開發者需要。
從一個開發者角度,如果萬一我想改變我的表的列名一樣,ItemQty到ItemAvailableQty那麼我要問的UI開發人員編輯UIE文件即listItems中。 PHP的,但我想,只有後端文件是fetchdata.php應該編輯和UI文件不應該被觸及這種數據庫的變化。無論數據庫中發生了哪些變化,這些更改都應獨立於UI文件,UI文件不應該知道/需要這些後端更改,即更改對於UI文件是不可見的。 UI文件只有當且僅當有一些UI改變時纔會被編輯。
我應該採取哪些措施來實現這個目標?我是否需要創建視圖/存儲過程等?或者我必須去MVC框架,如果是的話,那麼如何?
首先,'mysql_ *'函數不再維護**,不應該用在任何新的代碼庫中。它正逐漸被淘汰,轉而採用更新的API。相反,您應該使用[PDO](http://php.net/pdo)或[MySQLi]([**準備好的語句**])(https://www.youtube.com/watch?v=nLinqtCfhKY)( http://php.net/mysqli)。 –