我想有一个自定义函数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