在我的新工作中,他们使用(不要问我为什么)一个基于MVC架构的自定义框架。我自己,我有很多Symfony2的经验,有点像MVC框架。该框架不对数据持久层使用任何抽象。所以典型的模型类是这样的:
class User extends Model {
protected $iduser;
protected $email;
protected $password;
// some getters, setters here
public static getAllUsers(){
// a select query here
return $all_users;
}
现在我觉得这个模型正在使用对象关系映射(ORM),对吗?问题是它不使用任何最流行的模式,如Repository模式或DAO来与数据库进行通信,并且所有CRUD操作都必须在每个模型中实现。我的问题是,如果这个逻辑是正确的,或者不在模型和数据库之间使用任何抽象层以及为什么不可接受。