Главная > PHP > Начал использовать Zend Framework. Доволен.

Начал использовать Zend Framework. Доволен.

На работе проект разрабатываем с использованием Zend Framework. До этого с фреймворком не работал, но довольно быстро изучил основы и начал активно его использовать. Для изучения хватило понимания ООП, знаний РНР и работы с БД. Сегодня хочу немного поговорить о своих ощущениях и соображениях, которые возникли за последнее время.

Первое что следует отметить - Zend Framework накладывает серьезные правила на структуру каталогов. Это хорошо, т.к. четкая структура проекта дает понять сразу, где у тебя Контроллеры, Модели и файлы шаблонов которые отвечают за вид.

Zend Framework основан на Model-View-Controller, так что о логике разделения думаю говорить не стоит. Кроме того в Zend Framework каждый контроллер должен соответствовать правилам именования. Это относится и к файлам и именам методов классов. Такой подход считаю правильным, т.к. и коллективная разработка и логика от этого только выигрывает.

Докумментирован фреймворк тоже очень хорошо. Много примеров, русский язык справки. На сайте фреймворка есть даже видеокурсы, но на английском. В стандартном наборе есть очень много готовых решений для работы с БД, шаблонами, маршрутизацией, кешированием и т.д. Кроме того Zend Framework можно использовать частями. Т.е. наличие полного дистрибутива на хостинге не обязательно, достаточно только тех классов, которые используются (ответ тем, кто жалуется на то что ZF слишком “тяжелый”).

Скачать и посмотреть примеры работы фреймворка можно на сайте Zend Framework, там же есть и документация.

Из недостатков следует сказать что иногда фреймворк предоставляет мало свободы там, где стандартными методами тяжело обойтись и приходится сталкиваться с нетипичными задачами. В частности были проблемы с изменением внешнего вида Zend_Forms. Но все же это решается умелым использованием ООП :)

В завершение хочу сказать что использовать фреймворки стоит. В современном мире важна скорость разработки проектов. С Zend Framework проекты разрабатываются быстро и качественно. Логика приложений просто отличная: работа с БД отдельно, шаблоны отдельно, все контроллеры - отделены. Для программиста фреймворк дает отличное понимание MVC, позволяет научиться правильно структуризировать и разделять по логике компоненты приложения, эффективно использовать ООП и т.д.

Конечно здесь мало конкретики, но это просто впечатления и мысли по теме так сказать :) . Буду рад услышать мнения тех, кто использует его в своей работе.

admin PHP , , , ,

  1. 9 Октябрь 2008 в 09:14 | #1

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

  2. 9 Октябрь 2008 в 10:38 | #2

    Вообще на сколько я знаю Framework используют многие, хотелось бы узнать в чем его основные достоинства, неужели он настолько облегчает работу?

  3. 9 Октябрь 2008 в 12:00 | #3

    «накладывает серьезные правила на структуру каталогов»
    «каждый контроллер должен соответствовать правилам именования»
    А вот и нет. Смотря как роутер сконфигурирован.

    «основан на Model-View-Controller»
    А вот и нет. Там просто есть соотв. классы. Можно и без них.

  4. 9 Октябрь 2008 в 13:42 | #4

    Sam, согласен что можно и без классов MVC. О частичном использовании классов я тоже упомянул. Но, учитывая нынешние тенденции, использование фреймворков и прижилось из-за легкости реализации Model-View-Controller в проектах.
    На сайте фреймворка написано:
    Zend Framework components:
    - Model-View-Controller (Zend_Controller, Zend_Controller_Action, … , Zend_View)
    - Database (Zend_Db, Zend_Db_Table)
    - …
    Проще говоря, Zend Framework дает нам выбор как разрабатывать проект.

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

  5. 10 Октябрь 2008 в 19:39 | #5

    Сейчас доступно большое количество фреймворков, так для JavaScript разработаны фреймворки Yahoo User Interface library, jQuery и Prototype, для веб приложений Rails и Django и еще добрая куча. Вот довольно хороший Фреймворк для веб-дизайнера : http://www.realcoding.net/article/view/6660. Пользуйтесь, не жалко.

  6. 1 Ноябрь 2008 в 23:08 | #6

    А не пробовали фреймворк Kohana?

  7. 29 Декабрь 2008 в 21:12 | #7

    Я для View использую Smarty и реализация View в первых версиях ZendFramework оставляла желать лучшего. Поэтому пришлось заменить штатный View на Smarty. C Controler получилась более любопытная ситуация: в cms он отлично лег, а вот для пользовательской части сайта от него пришлось отказаться, очень он не удобно ложился в штатном виде. В результате ZendFramework вроде как использую вот только осталось от него не очень много :)

  8. qazwsx
    20 Сентябрь 2009 в 14:19 | #8

    zend - тупая и жутко тормознутая фигня

  1. 9 Октябрь 2008 в 02:22 | #1