我想有一個自定義函數insert/edit/delete
來自database
的記錄,而不是 必須寫每個頁面的單個查詢。數據輸入抽象層?
我也曾想過這樣進行:
//page.php:
$datainput = new DataInputAbstraction();
$datainput->setTableName = 'portal';
$datainput->setAllowedFields = array('name'=>'defaultvalue','text'=>'','desc'=>'');
$datainput->run();
// DataInputAbstraction.class.php:
class DataInputAbstraction{
//> attr
public function run(){
if (isset($_POST['action']) && $_POST['action']=='insert') {
$filteredData = array_intersect_key($this->allowedFields,$_POST);
//> Do a mysql query to insert $filteredData to $this->table
}
//> Do other stuff if $_POST['action'] == 'edit' | 'del'
}
}
基本方法run()的基礎上$ _ POST [ '行動']執行正確的行動。
過濾器表現爲做一個intersect_key與屬性allowedFileds,之後,它建立的查詢
不必要的變量INSERT INTO $this->tableName (array_keys($field)) VALUES (array_values($field))
(僞)
你認爲這是前進的好辦法?有更好的方法或PHP提供了一個類似的內置功能?
感謝
真的值得重新發明輪子嗎?嘗試[RedBean](http://redbeanphp.com/#/Tutorial),一個非常棒的ORM圖層。 – 2011-03-27 19:00:30
嗯,我真的很喜歡它,並在我的項目中使用它。它從未如此簡單:)但如果你有很多時間在你的手上 - 爲什麼不創造一些東西......或許更好.. – 2011-03-27 19:14:51
@Briedis DAL!= ORM – 2011-03-28 14:59:16