Итак, пакет для работы с базой данных Doctrine у нас установлен и теперь мы можем приступать к созданию сущностей в фреймворке Symfony.

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

Прежде чем выполнить эту команду, в структуре нашего проекта есть папка Entity, в этой папке и содержаться те самые сущности. Это будут специальные PHP-классы, которые будут являться отражением того, что у нас будет в базе данных. 

Т.е. каждой сущности будет соответствовать отдельная таблица в базе данных.

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

Выполняем команду:

bin/console make:entity

С помощью этой команды Symfony создаст для нас сущность.

Открывается специальный инструмент, где мы можем указывать настройки того, какую сущность мы хотим создать.

Предположим, мы создаем новый сайт и на этом сайте будет такая сущность как страница. Страница, на которой будет содержаться какая-то информация. 

Обратите внимание, что название сущностей указывается на английском языке и с заглавной буквы.

Предположим, создадим сущность Page. 

Если мы посмотрим на тот класс, который появился внутри папки Entity, то мы увидим простой PHP-класс. 

Обратите внимание на такие конструкции, которые есть в этом классе @ORM. Это специальная разметка библиотеки Doctrine, по которой эта библиотека будет определять чем является тот или иной класс и чем является то или иное свойство в классе.

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

Свойства, которые мы описываем в классе сущности будут являться колонками в базе данных и с помощью специально оформленных комментариев мы сообщаем, какие свойства будут у этой колонки. 

В консоли наша программа редактирования сущности еще запущена и мы можем создавать новые свойства для сущности.

Можно создать столько свойств сущности сколько нам будет нужно. Указываем имя свойства, какой тип данных в нем будет храниться и характеристики поля.

См. видео, чтобы посмотреть подробнее, как создаются новые свойства.

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

Вы можете создавать сущности и без консольного инструмента, который мы рассмотрели, но делать это с его помощью намного быстрее и удобнее.

Чтобы выйти с этого инструмента, жмем на клавиатуре Ctrl (или Cmd на mac) + C.

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