Что Doctrine обеспечивает, чего нет в других слоях абстракции PHP?
- Реализует шаблон DataMapper вместо ActiveRecord.
- Поддерживает аннотации , XML и YAML для схемы.
- Использует DQL .
- Использует преимущества PHP 5.3 +.
- Быстро и имеет большое сообщество.
- Кроме ORM есть ODM.
Является ли язык запросов действительно тем, что вы хотите разработать для всего веб-приложения?
Только часть приложения, отвечающая за поддержку бизнес-объектов, должна знать о существовании Doctrine. И эта часть не обязательно должна быть основана на доктрине.
В целом, создание приложения на Doctrine облегчает поддержку и понимание?
Определенно. Код легче читать, понимать и поддерживать.
Является ли он чрезмерно спроектированным и целесообразным для небольших и средних проектов?
На самом деле Доктрина довольно проста в своих основах. И это очень хороший выбор для небольших, средних и даже некоторых крупных приложений.
Доктрина - не ответ на все вопросы, и иногда она немного проблематична. Однако для типичных задач это чрезвычайно полезно. ИМХО лучший ORM / ODM для PHP на данный момент.