Как стать автором
Обновить

Комментарии 12

пожалейте наши глаза!!!
Согласен, зрение это очень важно!
Сделал камменты в коде серыми
Спасибо за переводы, очень интересно, буду ждать про Dependency Injection
Спасибо!

Кстати, контрвопрос ко всем: кто-нибудь досконально разбирался в построении новых bundle'ов-плагинов (в смысле, создания) и взаимодействия оных между собой (например, прикладной bundle, использующий propel или doctrine)
Я вообще не видел пока что нормального полноценного проекта на Symfony 2 с использованием Doctrine 2.
Все ссылаются на известные две демки (sandbox и ajax demo) — но работы с БД я там не увидел.
Вот толковый пост по интеграции по интеграции с Doctrine 2, но еще детально не разбирался.
За ajax_demo спасибо, попробую разобраться на досуге. Я просто думал попробовать поделать под symfony 2 bundle, чтобы лучше разобраться в устройстве приложений. Компоненты — это хорошо, но я больше по прикладному аспекту =)
Сорри, я вот эту ссылку хотел в предыдущем камменте написать.
А вообще планирую разобраться все-таки как подключить Doctrine 2 к Simfony 2 и написать об этом пост на хабре в ближайшее время — такого вроде еще нет.
Не сочтите за самопиар, токмо из научного рвения.

Я считаю, что разработчики Симфонии, действительно олицетворяют движение к революционно новому и правильному развитию. И их шаг в сторону DI, это революция для php-разработки.

Ведь во-первых можно использовать их DI-контейнер независимо (http://components.symfony-project.org/dependency-injection/).

И во-вторых, можно использовать совсем минимальный DI-контейнер Phemto, который написал Маркус Бейкер, автор Simpletest. Там кода менее 1000 строк. Осмелюсь рекомендовать мой перевод статьи, как это чудо использовать:
h-type.com/filez/lj/articles/di/

И тоже самое, незначительно устаревшее на хабре:
habrahabr.ru/blogs/php/64061/
habrahabr.ru/blogs/php/64078/

Думаю после принятия этого паттерна сообществом, так же как и принятие MVC, ActiveRecord и пр. должен быть бум внедрения сторонних библиотек. Ведь именно DI позволяет построить мостик между вашим фреймворком и кусочком чужого фреймворка.
По поводу полезности компонент от Sensio Labs я с вами согласен.
Но мысль такая: разве указанные компоненты (ED и DI) по сути не являются просто воплощением идей Гамма, Фаулера, Хелма и команды в виде контейнера на языке PHP? Вроде бы ничего революционного. Просто другим лень написать толковые классы.

Еще вопрос: я вот читаю всем известную книгу Гамма, Хелма, Джонсона, Влассидеса — там в перечне 23 паттерна. Где взять расширенный перечень, куда бы входил паттерн Dependency Injection?
1. Там в GoF и MVC нету. Она рассматривает более простые паттерны и более старые. Это у фаулера надо смотреть, в PoEEA (http://martinfowler.com/eaaCatalog/plugin.html)

martinfowler.com/articles/injection.html#InversionOfControl

2. Насчет лень толкать. Так пойди толкни, когда оно сложно изложено и ум разработчика сопротивляется лишним накладкам. Симфони молодцы именно тем, что у них относительно просто и на PHP, а не на джаве. А в Phemto и того проще.
Написать толковые классы и есть воплощение мастерства программиста это не так просто, жеж. Харизма нужна.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.