В моей новой работе они используют (не спрашивайте меня, почему) собственную платформу, основанную на архитектуре 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), я прав? Проблема в том, что он не использует ни один из самых популярных шаблонов, таких как шаблон репозитория или DAO, для связи с базой данных, и все операции CRUD должны быть реализованы в каждой модели. Мой вопрос заключается в том, что эта логика в порядке или недопустимо не использовать какой-либо уровень абстракции между моделью и базой данных и почему.
Задача ещё не решена.
Других решений пока нет …