Кто-нибудь знает, есть ли у Laravel какая-то библиотека / плагин или настройка, чтобы использовать Data Mapper или заставить Active Record вести себя так же, как Data Mapper ?. Я не пользователь Laravel, поэтому, возможно, Eloquent использует сочетание Active Record и Data Mapper, и я не знаю об этом.
Я работаю над своим проектом HMVC. Сейчас я использую карты данных для перемещения данных между моделями (объектами домена) и базой данных MySQL. Каждый картограф получает адаптер MySQL в качестве зависимости. Введенный адаптер получает экземпляр PDO (соединение с базой данных) в качестве зависимости и запускает sql-запросы в базе данных. Я также использую контейнер для инъекций зависимости […]
У меня возникли проблемы с пониманием шаблона проектирования datamapper. У меня есть два запроса (один для получения альбомов и один для создания исполнителя). Я хочу составить список альбомов и исполнителей (участников группы). Между ними существует одно-много отношений. Запросы SQL public function getArtist() { $adapter = $this->getAdapter(); $sql = new Sql($adapter); $select = $sql->select(); $select->from('genre'); $select->where(array( […]
Должен ли я передавать модель в качестве инъекции зависимостей в шаблоне сопоставления данных или я должен объявить модель внутри класса сопоставления? class Mapper { public function __construct( $model ) { $this->model = $model; } public function mapObject(array $row) { $this->model->setArticleId($row['article_id']) ; $this->model->setTitle($row['title']); $this->model->setDescription($row['description']); $this->model->setContent(isset($row['content']) ? $row['content'] : null); $this->model->setTemplate(isset($row['template']) ? $row['template']['path'] : null); return $this->model; […]
вот что у меня есть: class Entry { public $id; public $name; public $seoName; public $timeCreated; public function someFunction() { } } class EntryMapper { protected $db; public function __construct(PDO $db) { $this->db = $db; } public function saveEntry(Entry &$entry) { if($entry->id){ $sql = ""; } else { $sql = "INSERT INTO tbl_entry (name, seo_name, […]
Я знаю, что модели домена и карты данных являются выбором ООП-сноба (используя «сноб» дополнительным образом, как Мартин Фаулер называет себя), однако даже Фаулер говорит в POEAA, что «Active Record – хороший выбор для логики домена, которая не слишком сложна …» У меня есть простая модель продукта и счета-фактуры, а не слишком много таблиц / объектов […]
Возможно, это вопрос с тривиальным ответом, но, тем не менее, это заводит меня на пару дней, поэтому я хотел бы услышать ответ. Недавно я просмотрел много информации, связанной с созданием настраиваемого datamapper для моего собственного проекта (и не используя ORM), и прочитал несколько потоков на stackoverflow или других веб-сайтах. Мне кажется очень убедительным, что у […]
Я пою шаблон Data Mapper в Zend Framework. Пока это хорошо, но теперь я дошел до того, что мне нужна ваша помощь / мнение. Итак, давайте начнем с кода: У нас есть таблица с несколькими людьми: CREATE TABLE `persons` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `age` int(3) NOT NULL, `haircolor` varchar(20) […]
Я читаю главу архитектурных паттернов POEAA, и Фаулер говорит, что «по мере усложнения логики домена, и вы начинаете двигаться к богатой модели домена (116), простой подход к активной записи (160) начинает разрушаться . Индивидуальное совпадение классов домена с таблицами начинает терпеть неудачу, поскольку вы определяете логику домена на более мелкие классы. Реляционные базы данных не […]
Я разрабатываю веб-приложение RESTful – основанное на Apigility и основанное на Zend Framework 2 . Для слоя модели я использую ZfcBase DbMapper . Модель по существу состоит из двух объектов: Project и Image ( 1:n ) и в настоящее время реализована следующим образом: ProjectCollection extends Paginator ProjectEntity ProjectMapper extends AbstractDbMapper ProjectService implements ServiceManagerAwareInterface ProjectServiceFactory implements […]