<?php interface DatabaseCRUD { public function fetchAll($where = null, $order = null, $limit = null); public function find($id); public function save(DatabaseModel $model, $params); } interface DatabaseModel { public function insert($params); public function update($id, $params); }