Это определенно больше "ORM-или-нет?" обсуждение. Я бы сказал, что есть как архитектурные, так и эксплуатационные причины, чтобы не использовать Doctrine.
Весь смысл ORM состоит в том, чтобы преобразовать структуру таблицы базы данных в графы объектов для вашего приложения. Если ваши данные предназначены для представления или «моделирования» различения объектов или отношений между объектами (пользователь, корзина покупок, заказ и т. Д.). тогда ORM - это ценный инструмент.
Но в случае, когда ваше приложение работает с табличными данными, и нет серьезного несоответствия импедансов , Doctrine не может быть правильным подходом. Например, если мое приложение предназначено для работы с большими наборами файлов журналов, ORM может быть излишним. Кроме того, если ваша база данных сильно нормализована, ORM, вероятно, не для вас.
Есть также соображения производительности. ORM, как правило, медленнее, чем использование чистого металла SQL. Доктрина также имеет привычку строить очень большие графы объектов, которые занимают много памяти. Это не очень хорошо хорошо подходит для работы с тысячами строк базы данных одновременно или с большим количеством вставок, обновлений или удалений. Если вы собираетесь иметь дело с большим количеством транзакций базы данных, ORM может не подойти вам.
Моя философия заключается в том, что ORM является чрезвычайно полезным инструментом, пока он не станет слишком болезненным для использования. Если вы вообще не сможете получить какую-либо выгоду от использования Doctrine, вы, вероятно, уже знаете это.