PHP: Eloquent (ORM)
Теория: Настройка ORM
Этот курс состоит из двух видов практик. Одна выполняется в редакторе Хекслета, другая — на собственном компьютере. Для работы последней, нужно настроить Composer и подключить ORM. Этот процесс достаточно сложен даже для опытного разработчика, поэтому мы пойдём простым путём. Вам будет необходимо склонировать к себе готовый репозиторий и проверить его работоспособность:
Если на этом этапе вы увидите ошибки, то с большой вероятностью у вас не установлена поддержка SQLite в PHP. Чтобы её включить, вам нужно найти пакет, необходимый для вашей версии операционной системы и PHP. Для этого попробуйте набрать в гугл: "php install sqlite <тут название вашей операционной системы>"
В качестве базы данных в этом проекте используется SQLite. Такой выбор никак не влияет на работу с ORM, но значительно упрощает настройку и запуск кода на выполнение. SQLite в отличие от больших СУБД, хранится в одном файле и работает напрямую из кода. Под неё не поднимается отдельное приложение в системе.
Основные части репозитория
- src/ – Здесь лежат модели и фабрики. Это основные элементы ORM. Подробнее о них дальше по курсу.
- tests/ – Все сценарии работы с ORM описаны в виде тестов.
- composer.json – Содержит библиотеки, необходимые для работы Eloquent.
- src/config/loaders.php – В этом файле находится вся конфигурация. Функция
bootstrap()создает файл для базы данных и инициализирует Eloquent. После выполнения этого метода, ORM готова к использованию. - db-prepare.php – Файл, запускаемый во время настройки сетапа. Он пересоздает базу данных и загружает туда тестовые данные.
- src/config/schema.php – Содержит схему базы данных.
- tests/BaseTest.php – базовый класс для тестов. Внутри него происходит настройка приложения.
REPL (PsySH)
Лучший способ "поиграться" с кодом данного проекта – использовать PsySH. С его помощью можно загрузить приложение в память, запустить интерпретатор и вызывать любой код приложения прямо из командной строки, взаимодействуя с базой данных. PsySH работает как для самостоятельной работы, так и в практике на сайте. Для его запуска наберите:
Если на экране появилось приглашение для ввода >>> значит всё получилось. Вы находитесь внутри PsySH и можете работать с приложением. Попробуйте набрать следующий код (он будет объясняться дальше по курсу):
В последующих уроках будет много примеров кода. Не забывайте запускать репл и выполнять его там. Это поможет лучше разобраться с материалом и закрепить его на практике.

