Если видео недоступно для просмотра, попробуйте выключить блокировщик рекламы.

В основе любой программы, лежит какая-то определенная предметная область. Например графический редактор имеет дело с геометрическими примитивами, такими как отрезки, круги или квадраты, а сервисы доставки еды занимаются логистикой.

Предметная область включает в себя набор сущностей, которые взаимодействуют друг с другом, а так же правила их взаимодействия, называемые бизнес-логикой. Правила работающие в конкретной предметной области, никак не связаны ни с языком ни с фреймворком на которых пишется программа. Более того, они вообще не имеют никакого отношения к программированию и существуют независимо.

Возьмем для примера Хекслет. Этот проект построенный вокруг обучения. Его предметная область включает множество сущностей, часть из которых используется в проекте. К ним относятся понятия: Профессия, Курс, Проект, Урок, Практика, Квиз. Это лишь малая часть понятий из того что реализовано. Всего на Хекслете более 300 таких сущностей. Все они подчиняются определенным бизнес-правилам, которые реализованы в коде. Например пользователь не может одновременно вступать сразу в несколько профессий и должен иметь оплаченную подписку для доступа к профессиональным курсам. Таких правил в проектах сотни и тысячи. Во многом именно они определяют сложность кода.

Для упрощения описания предметной области и хранению ее данных в приложениях отвечают ORM. Это специализированные фреймворки, которые определяют способ создания сущностей и их связывания. Вторая большая задача этих фреймворков – обеспечивать хранение данных, создаваемых в процессе работы.

Этот курс посвящен посвящен изучению основных концепций ORM. К ним относятся:

  • Миграции и Схема
  • Модели и связи
  • Работа с формами
  • Динамические запросы и их построение
  • Обработка коллекций
  • Историчность
  • Мягкое удаление

Дополнительные материалы

  1. Eloquent
Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Node, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →