Daject是用php写的一个关系型数据库抽象模型,通过该模型,可以在不写任何SQL或写很少的SQL就能执行大多数数据库查询操作。Daject具有面向对象,跨数据库的优点,通过数据库驱动的支持,代码能够非常方便的在主流的各种关系型数据库之间迁移。
github地址:https://github.com/kasonyang/Daject
如何Daject假定数据库里有一张名为user的表,字段为id,name,age,主键为id
首先,我们先将Daject引入
include 'Daject/Daject.php';
然后,我们创建一个Table模型
class UserTable extends DajectTableBase{ PRotected $keys = array('id');}
注意类的名称,命名规则为:表名+Table
为了能够正常使用Daject查询数据,我们需要先对Daject进行初始化。
//新增一个数据库DajectConfig::addDatabase('master', 'MySQL', 'localhost', 'root', 'your_passWord', 'your_database_name', 'utf8');//设置当前数据库DajectConfig::setDatabase('master', 'master');//设置当前数据库前缀DajectConfig::setTablePrefix('');
接下来,我们就可以对数据库进行CURD操作了
//实例化UserTable$table = new UserTable();//读取user表的前10条记录$data = $table->select(10);foreach($data as $d){ echo 'id:',$d['id'],';name:',$d['name'];}//插入一条记录$table->insert(array('name' => '张三','age' => 20));//增加where条件$table->where(array('name'=>'张三'));//更新数据$table->update(array('age'=>25));//删除数据$table->delete();
注意看上面的代码,整个代码中并未出现任何SQL语句,但是我们已经完成了常见的select,insert,update,delete操作。事实上,当我们访问select(),insert(array),update(array)和delete方法时,Daject会自动为我们生成SQL并执行,然后返回数据给我们。由于不用写SQL,大大的减少了我们在写SQL上浪费的时间,同时降低了SQL语法错误的概率。
当然,上面只是Daject的一些基本操作,还有更多的关于Daject的知识,我会在以后的文章给大家慢慢分享!