В настоящее время я портирую приложение, написанное на ZF, на Django .По моему опыту, основное различие между двумя структурами - это связь между их внутренними компонентами.ZF доводит свою концепцию слабой связи до предела, когда вам нужно найти лучший способ соединить их вместе.Django, с другой стороны, обеспечивает плавный процесс разработки веб-приложения, в котором каждый из его компонентов объединяется в определенном порядке.Например, когда вы определяете модель в Django ORM , она предоставляет настолько много функциональных возможностей другим компонентам каркаса, как представления, шаблоны, формы и т. Д., Что трудно представить их использование без моделей.В некотором смысле тесная связь - одна из сильных сторон Djangos в том, чтобы сделать веб-разработку менее громоздкой и более эффективной.Но это иногда делает Джанго менее гибким.
Кроме того, после использования уровня абстракции базы данных ZFs (который для некоторых запросов создает очень неуправляемый код) вы обнаружите, что Djangos ORM отправлено на небеса :).Хотя некоторые решения ORM существуют для PHP (или ZF), Djangos ORM намного лучше.
Другое большое отличие заключается в Djangos URL confs , что делает его чрезвычайно простым и гибким, обеспечивая беспроблемное использование,удобные (SE дружественные) URL-адреса.С Django, URL-адреса являются неотъемлемой частью приложения, а не некоторой конфигурацией http-сервера, с которой вы застряли.
Другая очень важная часть сравнения - документация.Документация на Djangos очень хорошо написана и поддерживается.Несмотря на то, что документация ZF достаточно хороша, мне было трудно что-то искать.
Я думаю, что вы приняли правильное решение попробовать Django.Надеюсь, что это правильное решение для вас.