Feed Rss



Фев 16 2010

ZendFramework vs Symfony

По производственным нуждам приходится разбираться с достаточно популярным фреймворком Symfony.

Но это же – пиздец, товарищи!

Несмотря на некоторые приятные плюшки, фреймворк так и блещет извращенными представлениями об ООП его разработчиков. Чего только стоит передача параметров из контроллера в представление.

Если в ZF все логично: мы в контроллере наполняем экземпляр представления переменными:

class SomeController extends Zend_Controller_Action {
    public function indexAction() {
        $this->view->some_view_variable = 'test'; // вот тут мы наполняем экземпляр представления переменной
    }
}

…а потом в представлении манипулируем его (представления) переменными:

< ?= $this->some_view_variable ?> 
< ?php /* тут $this ссылается на объект представления из предыдущего пункта */ ?>

То в симфони происходят очень тсранные с точки зрения логики вещи. В контроллере мы наполняем КОНТРОЛЛЕР свойствами с данными:

class defaultActions extends sfActions {
    public function executeIndex( sfWebRequest $request ) {
        $this->some_view_variable = 'test'; // some_view_variable является свойством КОНТРОЛЕРА , а не ПРЕДСТАВЛЕНИЯ
    }
}

…так потом еще и в представлении обращаемся к сферическим коням в вакууме:

< ?= $some_view_variable ?> 
< ?php /* вообще сложно представить откуда могла появиться эта переменная. 
Возможно она вообще глобальная. Но очевидно одно - к объекту представления 
она никакого отношения не имеет */ ?>

Вот такое мое первое знакомство с Symfony. Первый час, так сказать…

Понравился пост? Подпишись на RSS!

Метки: , , , ,

6 ответов на “ZendFramework vs Symfony”

  1. Stas says:

    это ты еще не видел их хелперов, там ООП и близко нету))

  2. env0der says:

    А я вот в связи с производственной необходимостью плююсь на cakephp. Там вообще обратная совместимость с php4. Ненависть!!!!111

  3. Виктор says:

    ООП в симфони 1.x не ахти, но в ее пользу приведу три +++
    - генератор админки
    - все компоненты фреймворка нацелены на автоматизацию и быстроту разработки
    - symfony 2 обещает стать сказкой :)

    • Алексей Токарь says:

      Попробую посопротивляться :)
      - часто админка в таком виде, как она генерируется фреймворками не особо то и нужна. Прямое редактирование моделей (CRUD) не самая часто используемая задача в нетривиальных проектах.
      - возможно. Но тут как говориться «на вкус и цвет». Тем-более что все компоненты очень связаны, а значит фреймворк менее гибок для кастомизации
      - все в новых версиях обычно обещают быть сказкой :)

  4. zimyand says:

    Работал почти 2 года с Zend Framework. Сейчас тоже перешел на Symfony по работе. Не так уж все и плохо. Очень похоже на Django.

    Единственное – скудные доки и не совместимости с предыдущими версиями.

Оставить комментарий