Каковы преимущества использования DQL по сравнению с SQL в Doctrine?

Может ли кто-нибудь предоставить мне пару четких (основанных на фактах )причин для использования/изучения DQL по сравнению с SQL, когда нужен пользовательский запрос при работе с классами Doctrine?

Я обнаружил, что если я не могу использовать встроенную ORM -в реляционной функциональности для достижения чего-либо, я обычно пишу собственный метод в расширенном классе Doctrine или DoctrineTable. В этом методе нужно написать это в прямом SQL (, используя PDO с надлежащими подготовленными операторами/защитой от инъекций и т. д. ). DQL кажется дополнительным языком для изучения/отладки/поддержки, который не дает достаточных веских причин для использования в большинстве распространенных ситуаций.DQL не кажется намного менее сложным, чем SQL, чтобы гарантировать использование --, на самом деле я сомневаюсь, что вы могли бы эффективно использовать DQL, не имея четкого понимания SQL. Большинство основных синтаксиса SQL достаточно хорошо портируются для наиболее распространенных БД, которые вы будете использовать с PHP.

Что я упускаю/не замечаю? Я уверен, что есть причина, но я хотел бы услышать от людей, которые намеренно использовали его в значительной степени, и какой выигрыш был по сравнению с попыткой работать с простым -ole SQL.

Я не ищу аргумент, поддерживающий ORM, просто DQL, когда мне нужно сделать что-то за пределами основных потребностей типа «получить -по -отношениям», в традиционной настройке LAMP (с использованием mysql, postgres и т. д...)

6
задан Ray 17 July 2012 в 21:02
поделиться