Articles of datamapper

Laravel 4 с Data Mapper?

Кто-нибудь знает, есть ли у Laravel какая-то библиотека / плагин или настройка, чтобы использовать Data Mapper или заставить Active Record вести себя так же, как Data Mapper ?. Я не пользователь Laravel, поэтому, возможно, Eloquent использует сочетание Active Record и Data Mapper, и я не знаю об этом.

PHP MVC: несколько баз данных, несколько карт данных?

Я работаю над своим проектом HMVC. Сейчас я использую карты данных для перемещения данных между моделями (объектами домена) и базой данных MySQL. Каждый картограф получает адаптер MySQL в качестве зависимости. Введенный адаптер получает экземпляр PDO (соединение с базой данных) в качестве зависимости и запускает sql-запросы в базе данных. Я также использую контейнер для инъекций зависимости […]

Как использовать преобразователь данных с sql-запросами

У меня возникли проблемы с пониманием шаблона проектирования datamapper. У меня есть два запроса (один для получения альбомов и один для создания исполнителя). Я хочу составить список альбомов и исполнителей (участников группы). Между ними существует одно-много отношений. Запросы SQL public function getArtist() { $adapter = $this->getAdapter(); $sql = new Sql($adapter); $select = $sql->select(); $select->from('genre'); $select->where(array( […]

Data Mapper – следует ли использовать инъекцию зависимостей?

Должен ли я передавать модель в качестве инъекции зависимостей в шаблоне сопоставления данных или я должен объявить модель внутри класса сопоставления? 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; […]

Шаблон DataMapper PHP: моему классу нужен экземпляр PDO, я хочу обернуть его внутри класса Db

вот что у меня есть: 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, […]

Может ли простая модель просто расширить Zend_Db_Row (по существу, Active Record)?

Я знаю, что модели домена и карты данных являются выбором ООП-сноба (используя «сноб» дополнительным образом, как Мартин Фаулер называет себя), однако даже Фаулер говорит в POEAA, что «Active Record – хороший выбор для логики домена, которая не слишком сложна …» У меня есть простая модель продукта и счета-фактуры, а не слишком много таблиц / объектов […]

PHP datamapper – зачем использовать их для не-коллекционных объектов?

Возможно, это вопрос с тривиальным ответом, но, тем не менее, это заводит меня на пару дней, поэтому я хотел бы услышать ответ. Недавно я просмотрел много информации, связанной с созданием настраиваемого datamapper для моего собственного проекта (и не используя ORM), и прочитал несколько потоков на stackoverflow или других веб-сайтах. Мне кажется очень убедительным, что у […]

Шаблон Data Mapper: сложный запрос из уровня сервиса

Я пою шаблон 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) начинает разрушаться . Индивидуальное совпадение классов домена с таблицами начинает терпеть неудачу, поскольку вы определяете логику домена на более мелкие классы. Реляционные базы данных не […]

Как построить вложенные ответы в приложении, основанном на Apigility, с использованием модели на основе ZfcBase-DbMapper?

Я разрабатываю веб-приложение RESTful – основанное на Apigility и основанное на Zend Framework 2 . Для слоя модели я использую ZfcBase DbMapper . Модель по существу состоит из двух объектов: Project и Image ( 1:n ) и в настоящее время реализована следующим образом: ProjectCollection extends Paginator ProjectEntity ProjectMapper extends AbstractDbMapper ProjectService implements ServiceManagerAwareInterface ProjectServiceFactory implements […]