Почему мне не хочется использовать Yii?

MiksIr

miksir@home:~$
MiksIr
Он не может строить ERP нормальные с такими идиотскими притензиями :D и с такими возмущениями:
* Сильная связанность классов. Все в системе наследуется от CComponent
Не, ну я бы тоже не отказался бы от DI в Yii2.
Хотя прекрасно понимаю, что это просто потакание перфекционизму и отсуствие онного не помешает работе.
 

MiksIr

miksir@home:~$
MiksIr
Если прочтешь первый пост, то увидишь, что я ничего никуда не переносил. Все началось с того, что несдержанный матершиник с низкой самооценкой и ником Ragazzo начал меня обвинять каких-то непомерных поступках. После того, как я стал объяснять, что он не прав, он психанул и покрыл меня матом.
Почему такое поведение приветствуется здесь, мне не известно?

Остальное было частью беседы с Dez, которую почему-то перенесли в отдельную ветку.
Да мне пофиг с чего все началось. Вижу ваш первый пост и на него отвечаю.
Если ваш стиль программирования подразумевает конфликт с Yii - забудьте эти буквы просто и все. Если ваша квалификация так высока - вы можете себе позволить выбирать работу по предпочтениям и не ковыряться в чужом ужасном коде на Yii. Перечисленные вами "недостатки" - это исключительно субъективность и вкусовщина, т.е. не имеющая отношения к реальным проблемам Yii.
 

Ragazzo

TDD interested
MiksIr
Не, ну я бы тоже не отказался бы от DI в Yii2.
кстати, дак создай issue с описанием, сейчас же public preview, все рассматривается и обсуждается (поэтому иногда срач бывает), никто не скажет BC-break.
 

MiksIr

miksir@home:~$
MiksIr

кстати, дак создай issue с описанием, сейчас же public preview, все рассматривается и обсуждается (поэтому иногда срач бывает), никто не скажет BC-break.
Да не, ядро уже готово все же, а нормальный DI - это считай полное изменение архитектуры. Совсем другой подход. Да и так проживем =)
 

keltanas

marty cats
MiksIr
Этот мой первый пост, совсем не мой первый пост. Я его не создавал. По крайней мере в виде поста. Говорить, что yii гавно я тоже не собираюсь.
Выбор фреймворка - это в любом случае исключительно субъективный выбор. И свои проекты на Yii не начинаю.
Но, как ни странно, иногда предлагают участвовать в проектах на yii, и я от этого слишком часто остаюсь не в восторге.
 

Sam Dark

Новичок
MiksIr
Сами по себе «нормальный» DI и всякие бесящие штуки не появятся и не исправятся. Банально потому что мы не телепаты и не знаем, что такое этот «нормальный» DI и почему он нормальный. О бесящих штуках тем более.
 

MiksIr

miksir@home:~$
Sam Dark ну тикеты про отсутствие возможности ресетить дефолтный scope по связям я видел у вас в трекере, так что толку то писать еще... нужно делать и патчи слать, полагаю, тем более, что это вполне можно сделать не ломая совместимости - через параметр связи, но пока нет у меня такой возможности - по-этому и бесит.
А насчет DI, думаю, вообще говорить смысла нет, ибо это не Yii будет. Так что сказано это было больше в шутку.
 

Dez

Новичок
LOL не поддерживает IdentityMap, UnitOfWork. Нет выделенного DataMapper; нативные использовать не охота - это не реальные неудобства?
Для меня нет. Видно у меня еще не та стадия ООП головного мозга.
Мое имхо, что то, что задумано в yii реализовано хорошо, хорошим кодом, и это главное, и работает на ура, плюс с упором на скорость, на что уже другие увы забивают, а yii мастера - нет ;) .
А если кому то нужны позарез какие то дополнительные фичи, т.к. им неудобно прям совсем работать, то есть ветки на соответствующих форумах где можно в новой версии аргументированно спрашивать про дополнения.
Только чуток на реальность не забивая, т.к. это все кому то еще ж надо будет реализовывать.
 

Redjik

Джедай-мастер
MiksIr
Yii::app() - это DI Container
В любом нормальном фв есть DI, и в Yii его много - и это нормально блин.
В ar его надо добавить - иначе так и останется гемор с репликацией.
 
  • Like
Реакции: AmdY

Gas

может по одной?
Yii::app() - всё-таки он почти всегда используется как Service Locator, а не DiC
то-есть зависимости не из вне передаются, а прямо в методах используется yii::app()
 

Ragazzo

TDD interested
Gas
в Yii через set/getComponent() почти любую фигню можно использовать как SL ;)
Redjik
на хабре кто-то упрекнул что без обертки это не DI, а простая агрегация :D
 

Redjik

Джедай-мастер
Ну да - но разница настолько иллюзорна.
в Yii - это через статику и Yii::app()
в symfony2 - Service Container просто инжектиться куда можно и нельзя =)
 

Sam Dark

Новичок
Если контейнер таскается повсюду, то принципиальной разницы нет. Что от контейнера зависимость, что от Yii::$app. С контейнером просто чуть посложнее...

По-хорошему, инжектить всё и всегда надо извне. Так зависимостей лишних не будет и тестировать будет просто и приятно. API вот только станет похож на пульт управления космическим кораблём...
 
  • Like
Реакции: Gas

Sam Dark

Новичок
Именно. Разработчики Yii предпочитают платить красотой тестов самого фреймворка и получать нормальный человеческий API. Конечному пользователю пофиг, насколько плохо было разработчикам фреймворка при написании тестов. В приложении же они могут при желании использовать какой-нибудь контейнер DI, если для них тесты — приоритетное занятие.
 
  • Like
Реакции: AmdY

Sam Dark

Новичок
MiksIr
Ни у кого нет чёткого понимания, что за зверь такой этот DI контейнер, что там должно быть и чего не должно ;)
 

MiksIr

miksir@home:~$
Но все же... это сервис локатор.
Я думаю тут путаница с IoC и DI.
Инверсия управления - это принцип, и сервис локатор одна из его реализаций.
А DI - это DI. Если объект каким-то образом _просит_ зависимость - то это уже не DI.
Да и DI контейнер я как-то почти не встречал термин, все же IoC контейнер обычно?
 
Сверху