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

keltanas

marty cats
http://phpclub.ru/talk/threads/Шаблон-для-php-приложений.75846/#post-681483
keltanas
я не делаю сайты-визитки. но если ты считаешь что для сайта визитки нужно построить свою билд-систему на composer, вместо того чтобы за 10-15 минут настроить jenkins если надо, то как говориться "сам дурак ты".
p.s. мы уже поняли какой ты спец, когда сказал что Yii гавно, ага :D
Ragazzo
Ну во первых, давай подумаем, для чего может понадобится сабж?
Во вторых, давай не будем выдавать то, что ты там себе надумал за действительное.
Никто на композере билд-систему не писал. Это просто нафиг не надо. Почитай доки по композеру, посмотри, как он используется в Symfony, тогда поймешь, о чем это я.
Про Yii - как ты помнишь, я не писал, что он гавно. Любая технология, особенно такая, как Yii имеет место быть. Однако я писал, что в коде и архитектуре Yii есть большие проблемы и его значимость переоценена.
Я видел код, который пишут такие бравые фанаты Yii как ты, и наелся этим сполна. Самому пришлось разгребать это несколько дней, чтобы проект нормально функционировал не выдавал ошибок при оформлении заказа.

Так что прежде, чем делать выводы, разберись со своим мировосприятием, уважаемый.
Какие именно из больших?
Скажем, есть причины, по которым мне не хочется использовать Yii:
* Сильная связанность классов. Все в системе наследуется от CComponent. Доступ к моделям через статические методы, что позволяет их юзать даже там, где не нужно.
* AR - изюминка Yii, как я считаю, великолепна по своему интерфейсу. Но не пригодна, т.к. не поддерживает IdentityMap, UnitOfWork. Нет выделенного DataMapper, всю кастомную выборку приходится лепить прямо в DomainObject. Что для мелких проектов приемлемо. А для крупных... нихочу даже думать о том, что будет при смешении бизнес логики и логики маппинга в условиях большого количества кода.
* Интеграция шаблонизатора (Twig, Smarty) довольно слабая, по сравнению с нативными шаблонами. А нативные использовать не охота.

В своем проекте это можно частично исправить, написав обвязки, хелперы. А если участвуешь, как антрепренер, то приходится ломать пальцы, чтобы подстраиваться под этот стиль.
Форкать и переписывать под себя? И лишаться поддержки сообщества? Нет уж, лучше буду курить мануалы по Symfony.

PS: Данный комментарий был перенесен AmdY
 

Dez

Новичок
не совсем понял о чем вы, ну да ладно, на вкус на цвет, я думал какие то реальные неудобства, заметные при разработке сайта...
 

keltanas

marty cats
не совсем понял о чем вы, ну да ладно, на вкус на цвет, я думал какие то реальные неудобства, заметные при разработке сайта...
LOL не поддерживает IdentityMap, UnitOfWork. Нет выделенного DataMapper; нативные использовать не охота - это не реальные неудобства?
 

MiksIr

miksir@home:~$
У Symfony тоже много реальных неудобств. Например, отсутствие компоненты приготовления и доставки кофе. Когда делаешь сложные проекты - это очень важно даже для профессиональных разработчиков - вовремя получить хороший горячий кофе. Из-за этого реального неудобства я лучше буду использовать кофеварку, чем этот ваш Symfony.
 

Redjik

Джедай-мастер
1) IdentityMap для схемы есть
2) UnitOfWork - прочитал про пэттерн, как раз его опасно использовать на больших проектах - черная магия прям =)

В AR yii другие, очень большие проблемы, а это так - финтифлюшки =)))
 

Ragazzo

TDD interested
Redjik
MiksIr
человек просто решил выпендрится в виде "Сейчас опущу ваш Yii через Symfony", но не получилось, lol :D
 

MiksIr

miksir@home:~$
Ну почему в Yii2 как раз хотят сделать отслеживание изменений и запись измененного. Это часть работы UnitOfWork как раз.
Хотя это полезно когда объект меняется в куче мест и потом записывается. Иначе же мы обычно знаем что меняем и можем указать это руками.
IdentityMap же реализацется без проблем наследованием от AR и созданием там слоя кеширования.
 

keltanas

marty cats
У Symfony тоже много реальных неудобств. Например, отсутствие компоненты приготовления и доставки кофе. Когда делаешь сложные проекты - это очень важно даже для профессиональных разработчиков - вовремя получить хороший горячий кофе. Из-за этого реального неудобства я лучше буду использовать кофеварку, чем этот ваш Symfony.
Кстати, кофе симфони как раз умеет готовить http://symfony.com/doc/current/cookbook/assetic/apply_to_option.html
А на счет yii не знаю..
Redjik
MiksIr
человек просто решил выпендрится в виде "Сейчас опущу ваш Yii через Symfony", но не получилось, lol :D
Слышу звон, да кроме Yii ничего не знаю.
 

hell0w0rd

Продвинутый новичок
Интеграция шаблонизатора (Twig, Smarty) довольно слабая, по сравнению с нативными шаблонами. А нативные использовать не охота.
А это можно расписать? Что там можно интегрировать-то слабо или сильно?
Я вот не понимаю почему yii так любят велосипеды и не используют готовые компоненты - doctrine, monolog, assetic.
 

keltanas

marty cats
Я никого не заставляю не пользоваться Yii. Нравиться, пользуйтесь, сколько хотите. Сайты на нем делать ничто не мешает.

Ну почему в Yii2 как раз хотят сделать отслеживание изменений и запись измененного. Это часть работы UnitOfWork как раз.
Хотя это полезно когда объект меняется в куче мест и потом записывается. Иначе же мы обычно знаем что меняем и можем указать это руками.
IdentityMap же реализацется без проблем наследованием от AR и созданием там слоя кеширования.
Я пока слышал только про разделение на DataMapper и DomainObject, что не может не радовать, но и не является достаточным.
По поводу IdentityMap - я так понимаю, это противоречит философии фреймворка, хотя и встречаются велосипеды. UnitOfWork туда же.

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

keltanas

marty cats
1) IdentityMap для схемы есть
2) UnitOfWork - прочитал про пэттерн, как раз его опасно использовать на больших проектах - черная магия прям =)

В AR yii другие, очень большие проблемы, а это так - финтифлюшки =)))
Тем более

А где ты читал об этом? На форуме Yii? Или у Фаулера?
 

AmdY

Пью пиво
Команда форума
После второй доктрины IdentityMap и UnitOfWork воспринимаю как грязный мат. На косяки с доктриной тратится до половины времени. Первая доктрина, так же как и Yii AR - вещи для работы, а не набор садомазо как доктрина 2.
 

keltanas

marty cats
Ну так доктрина2 не является частью simfony2
Можно подключить хоть голый PDO как сервис и вперед...
 

MiksIr

miksir@home:~$
> По поводу IdentityMap - я так понимаю, это противоречит философии фреймворка, хотя и встречаются велосипеды.
Я немного не понимаю, почему вы считаете, что фреймворк с AR на борту обязан содержать IdentityMap?
В большинстве случаев IdentityMap конкретно под свои задачи будет много проще, чем универсальный на все случаи жизни встроенный в фремворк.
У меня есть опыт создания своего универсального IdentityMap, да еще и с возможностью кеширования - вот весьма нетривиальная задача, особо когда хочется поддерживать выборки по SQL, сортировки и тому подобное.
Лучше уж создать прослойку к модели, которая возмет на себя эти функции ровно в том объеме, в котором нужно. И это не будет велосипед, это будет вполне конкретная реализация под конкретную задачу.
И вполне этого хватает.
Если вы строите глобальные ERP системы (наверно строите, раз так о "сайтиках" отзываетесь), а потом удивляетесь, что в Yii нет того или иного - это ваши проблемы, не нужно этот идиотизм переносить на этот форум.
 

Ragazzo

TDD interested
MiksIr
Он не может строить ERP нормальные с такими идиотскими притензиями :D и с такими возмущениями:
* Сильная связанность классов. Все в системе наследуется от CComponent
 

keltanas

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

Остальное было частью беседы с Dez, которую почему-то перенесли в отдельную ветку.
 
Сверху