ORM Назначьте данные для просмотра - PullRequest
0 голосов
/ 18 июля 2011

Работа над приложением MVC с Doctrine в качестве нашего ORM. В настоящее время мы пытаемся улучшить способ использования объектных отношений в нашем приложении, и возник вопрос:

Должны ли мы непосредственно назначать сущность доктрины представлению или просто массиву данных?

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

Какой, по вашему мнению, наш лучший вариант развития событий с наименьшим количеством потенциальных осложнений?

Спасибо за ваше время.

1 Ответ

1 голос
/ 18 июля 2011

Я думаю, что ответ в основном о эффективности / скорости, с которой ваше приложение должно работать. Если под "разработчиками внешнего интерфейса" вы подразумеваете разработчиков HTML / CSS, то они, вероятно, не поймут, какие типы запросов, зацикливающихся на неправильной вещи (например, $object->getRelatedObject()), могут быть созданы в фоновом режиме. То, что может быть выполнено с помощью одного строгого запроса, возвращающего данные массива, может привести к генерации 10-15 запросов, которые гидратируют полные объекты и заметно замедляют работу приложения.

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

Надеюсь, это поможет.

...