数据库使用

框架要求每个数据库表都需要建一个单独的类,放在/dao目录下。跟其他目录一样,支持多层文件结构,写在子目录或孙目录中,但类名必须唯一

所有传入DAO 方法的参数都会自动进行转义,可以完全避免SQL注入的风险

例如:

  1. // testDAO.php 与类名保持一致
  2. class testDAO extends baseDAO
  3. {
  4. // 链接库 数组表示主库从库分离:['database', 'slaveDb'] 对应dns里配置 默认为'database'
  5. protected $dbConfig = 'database';
  6. // 表名
  7. protected $table = 'Biny_Test';
  8. // 键值 多键值用数组表示:['id', 'type']
  9. protected $_pk = 'id';
  10. // 是否使用数据库键值缓存,默认false
  11. protected $_pkCache = true;
  12.  
  13. // 分表逻辑,默认为表名直接加上分表id
  14. public function choose($id)
  15. {
  16. $sub = $id % 100;
  17. $this->setDbTable(sprintf('%s_%02d', $this->table, $sub));
  18. return $this;
  19. }
  20. }