Почему мы создаем Entity / Enquiry.php и Form / EnquiryType.php в отдельных папках Symfony2? - PullRequest
1 голос
/ 01 февраля 2012

Прохождение учебника по Symblog в Symfony2. При создании форм я пришел к точке, в которой я создаю контактную сущность (Entity / Enquiry.php), где я определяю некоторые поля и некоторые методы для доступа к этим полям. , Затем я создаю другую папку Form / EnquiryType.php для создания формы и затем contact.html.twig для отображения. Я не могу понять, почему мы создали 2 пространства имен для Entity / Enquiry.php и Form / EnquiryType.php. когда им приходится иметь дело друг с другом. Почему мы не написали оба класса в одной папке или одном файле. И еще один вопрос. Они принадлежат Контроллеру или Представлению часть MVC.

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

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

Сущности не должны называться "сущностями", они должны быть просто вашими бизнес-объектами, которые могут сохраняться через слой, называемый doctrine2.

Чтобы ответить вам на разделение проблем, Сущности о М, в то время как Типы форм относятся к пользовательскому вводу (так что ВК). Просмотр, потому что он визуализирует человеческий интерфейс, чтобы позволить пользователю вводить данные, Контроллер, потому что именно там вы обрабатываете жизненный цикл формы.

0 голосов
/ 02 февраля 2012

Причина - логическое разделение. Почему мы не определяем все части MVC в одной папке / пространстве имен? Потому что это будет беспорядок. Вот почему логическое разделение необходимо.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...