И она вполне может быть не одна…а таблица за моделью
Буду знать.Вот когда начнешь понимать что не модель за таблицей закреплена, а таблица за моделью, тогда уже будет неплохо.
Наоборот. Начинаем с моделей. А свойства моделей уже ставятся в соответствие таблицам и полям в базе данных.Вот из Ваших слов я понял следующее: у каждой таблицы с которой мы собираемся работать, есть своя модель ? Где как раз таки описываются свойства (из ларавела понял еще то, что данные которые пользователю не нужны ставят приватными) и методы, чтобы получить данные с этой таблицы, обновить, удалить и т.д. ?
Это то самое типичное распространенное заблуждение.Недавно мне коротко написали: Модели: Обращение к базе данных обмен данными с базой
Нет.А в этом случае в Model обычные методы вроде public function select($query) {PHP:Class Chat extends Model { // функции, получить все сообщения, по отдельности, удаление и т.д.. в общем то что нам нужно public function getAll() { return select('select * from chat'); } }
return mysqli_query($this->link, $query);
}
---
что то я уже сам запутался. я просмотрел столько уроков, задавал на тостере, форумах столько вопросов
class Chat {
private $id;
private $name;
public function __construct($name, $id = null) {
$this->name = $name;
$this->id = $id;
}
public function getId() {
return $this->id;
}
public function getName() {
return $this->name;
}
public function rename($newName) {
$this->name = $newName;
}
# выше была чистая модель, теперь, поскольку мы делаем ActiveRecord, в нее же дописываем работу с базой:
public function store() {
if ($this->id) {
DB::query('UPDATE chats SET name=? WHERE id=?', $this->name, $this->id);
} else {
DB::query('INSERT INTO chats (name) VALUES (?)', $this->name);
$this->id = DB::getLastInsertId();
}
}
public static function findById($id)
$row = DB::fetchRow("SELECT id, name FROM chats WHERE id=?", $id);
if (!$row) {
throw new ModelNotFoundException(__CLASS__);
}
return new self($row['name'], $row['id']);
}
}
ну наверно можно сказать что DTO это анемичная модель некоторой сущностиМодель предметной области = Domain
То, что корневые DTO классы называют Model, тебя не должно путать
я вот подумал почему иногда возникаетет путаница - потому что такие понятия как DTO и модель вообще нельзя ставить в один рядЯ бы вот спросил, чем DTO отличается от анемичной модели
"Як цуцик, усё розумиє, тильки не розмовляє…" (Сори за мой французкий, угу.)Все все понимают, но все равно чего то обсуждают
Перевод нормальный, по-моему.@AnrDaemon, почитай http://www.ozon.ru/context/detail/id/5497184/ там терминологии дофига
Мне определенно пользу принесла она. Правда... перевод. В оригинале то оно лучшей.
Не боишься?Вот когда начнешь понимать что не модель за таблицей закреплена, а таблица за моделью, тогда уже будет неплохо.