<rmcreative>

RSS

Q&A про Yii #2

29 марта 2016

А не кажется ли вам, что самое время подумать о Yii3? Вышел php7 с количеством изменений, достойным нового фрэймворка.

Про Yii 3 мы думаем с самого выхода 2.0. Останавливаться на достигнутом не стоит. Перед ним будет 2.1.

В PHP 7 не так много новых возможностей, действительно полезных для самого фреймворка. Типизация больше приятностей даёт, когда её используешь в приложении. К тому же, типизация возвращаемого значения не поддерживает null, что делает невозможным, например, возврат null из Post::findOne(10). Что действительно стоило бы использовать из PHP 7 не раздумывая, так это password API и генератор случайных чисел.

Какие недостатки Yii видит основная команда разработчиков?

Идеальных фреймворков не бывает. Недостатки, естественно, видим и их не так уж и мало.

  • Нет совместимости с некоторыми PSR.
  • Плагин для Composer-а (fxp) хоть и выполняет свою задачу, но также прилично запутывает и замедляет процесс установки.
  • Попытка решить проблемы клиентсайда хоть и не совсем провальна и даже нормально работает, но не поспевает за grunt и gulp.
  • Ядро фреймворка не отделено должным образом от клиентсайда.
  • Некоторые возможности напрашиваются на выделение в отдельные независимые от Yii библиотеки.
  • Куча разных мелочей, которые либо в планах на 2.1, либо исправляются по ходу дела в 2.0 каждый день.

  • Часть 1

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

  1. №10406
    fun4life
    fun4life 29.03.2016, 15:07:41

    Когда будет возобновлена работа над созданными но заброшенными репозиториями yiisoft?

    в частности интересует installer и queue.

    Когда будет найдена альтернатива вышеупомянутому composer-плагину?

  2. №10407
    Sam
    Sam 29.03.2016, 16:10:04

    installer и queue создавались не основной командой фреймворка.

    queue изначально занимался @creocoder. Сейчас им планировал заняться @kop. Расширение, в принципе, уже работает. Отсутствует документация и поддержка некоторых бэкендов.

    installer занимался @pana1990. Изначально был план сделать простое решение, чтобы понять, нужен ли он вообще. В текущем виде инсталлер плюсов по сравнению с Composer не имеет, так что релизить его смысла нет.

    Когда будут возобновлены работы зависит от сообщества. Если хотите, можете допилить и послать pull request.

    Когда будет найдена альтернатива вышеупомянутому composer-плагину?

    Альтернатив несколько:

    Решим к 2.1.

  3. №10408
    Евгений
    Евгений 29.03.2016, 18:30:47

    Хотелось бы узнать, когда будет выпущен yii2-mongodb для php7? А то пока там все печально с его поддержкой

  4. №10409
    Ктото
    Ктото 29.03.2016, 19:43:08

    Согласно докам на ГитХабе, чтобы перейти на Yii 2.1 нужно будет действительно много переписать, если проект средний или большой. Вам не кажется, что изменения 2.1 нужно выкатывать плавно??

    Насчет Yii3... Тут даже страшно думать. Веб не изменился ТАК сильно и не изменится в ближайшее время, все можно делать постепенно! php7, bootstrap4, все можно делать от версии к версии, но не все сразу...

  5. №10410
    Sam
    Sam 29.03.2016, 22:06:27

    Евгений, а что именно там не так? Проблемы на GitHub перечислены? Pull request-ы открытые какие-либо из них решают?

    Ктото, версия 2.1 не будет чем-то прямо совсем новым. Не думаю, что придётся переписывать так же сильно, как пришлось при переходе 1.1 → 2.0. bootstrap 4 уже практически готов. В расширении будет отдельная ветка. Ставить можно будет или 3 или 4, какой нужен...

  6. №10411
    Алекей Sc
    Алекей Sc 29.03.2016, 22:39:06

    Ктото

    Насчет Yii3... Тут даже страшно думать. Веб не изменился ТАК сильно и не изменится в ближайшее время, все можно делать постепенно! php7, bootstrap4, все можно делать от версии к версии, но не все сразу...

    Дело не только в сопутствующих технологиях, дело в архитектуре фреймворка. Например с yii1 -> yii2 многое кардинально изменилось в самом ядре, в самом подходе. Тоже самое будет и с yii3. Скорей всего сделают из фрейморка набор несвязанных компонентов, учтут последний бест практис. Вот, например, чтоб сделать последнее - придется больше половины ядра вообще переписать. А думать о yii3 действительно нужно уже сейчас, т.к. нужно еще успешно конкурировать с остальными фреймворками. И - да, веб меняется "ТАК сильно" каждый день, и не только веб, программирование в целом.

  7. №10412
    Ктото
    Ктото 29.03.2016, 22:56:10

    Алекей Sc Че-то вы написали вообще чушь, без обид. Про несвязанные компоненты уже сто раз писали и тут и на хабре и на yiiframework.ru. Про то, что вся поменялось 1=>2 то поменялся синтаксис, все принципы остались.

    Sam github.com/yiisoft/yii2/wiki/Ideas-for-2.1 я вам приведу из-за чего много придется переписать (проект средний-большой):

    • Try to use traits + events instead of behaviors and drop behaviors.
    • Replace YII_DEBUG and other constants with application property?
    • When triggering events, pass data as a separate argument insted of a part of event object (commonly referred to as inconvenient).
    • Replace PJAX with something more stable and low level.
    • Move methods from Yii class into helpers. For example, Yii::getAlias() could be FileHelper::getAlias().
  8. №10413
    Сергей
    Сергей 30.03.2016, 7:07:41

    А думать о yii3 действительно нужно уже сейчас, т.к. нужно еще успешно конкурировать с остальными фреймворками. И - да, веб меняется "ТАК сильно" каждый день, и не только веб, программирование в целом.

    Это проект, которым люди занимаются бесплатно, в свободное от работы время. Какая конкуренция? Если yii3 и выйдет, то лет через 5 минимум. (Для сравнения, разница между первой и второй версиями - 6 лет).

    И - да, веб меняется "ТАК сильно" каждый день, и не только веб, программирование в целом.

    Не так уж и быстро он меняется. Многие технологии 5-10-летней давности и сейчас актуальны.

  9. №10414
    Евгений
    Евгений 30.03.2016, 7:10:30

    Sam, насчет mongodb, в php7 выпустили новый драйвер для mongo и текущее расширение с ним не совместимо. В Issue есть эта проблема, но затегирована на версию 2.1 (

  10. №10415
    Denis Alliswell
    Denis Alliswell 30.03.2016, 11:42:24

    Sam

    bootstrap 4 уже практически готов.

    • alpha 3 на 76% =)
  11. №10416
    Sam
    Sam 30.03.2016, 12:41:39

    Евгений, 2.1 расширения — это не 2.1 фреймворка.

  12. №10417
    Sam
    Sam 30.03.2016, 12:42:16

    Denis Alliswell, расширение тоже практически готово. Pull request пилится.

  13. №10418
    zabachok
    zabachok 30.03.2016, 13:00:54

    Sam, а где расширение под 4-й бутстрап? Дайте ссылочку пожалуйста!

  14. №10419
    Sam
    Sam 30.03.2016, 15:58:25
  15. №10420
    zabachok
    zabachok 30.03.2016, 18:32:31

    А когда планируется слияние? Уж очень нужен 4й бутстрап уже.

  16. №10422
    Sam
    Sam 31.03.2016, 12:05:55

    Начиная с сейчас и заканчивая релизом Bootstrap 4. Как пойдёт, но к релизу будет.

  17. №10434
    Tom
    Tom 05.04.2016, 3:16:23

    Hi Sam,

    Do you think Yii is cute enough? Should Yii perhaps try to be more cute in 2.1?

  18. №10435
    Sam
    Sam 05.04.2016, 23:28:49

    "cute"? Why should it be "cute"? :)

    Seriously speaking, I think 2.0 is good enough for real projects but, of course, it could be better. That's why 2.1.

  19. №10450
    Владимир
    Владимир 09.04.2016, 22:13:38

    Александр, ссылка на этот пост ломает rss, т.к. в ссылке содержится &

  20. №10452
    Sam
    Sam 11.04.2016, 0:10:22

    Владимир, поправил.

  21. №10459
    Сергей
    Сергей 11.04.2016, 15:54:52

    А планируется реализация фреймворка в phar архиве. Было вроде обещано еще в начале первой версии. зы: Давно не следил за новостями.

  22. №10468
    Sam
    Sam 14.04.2016, 15:00:51

    Сергей, у нас такой цели сейчас нет, но проблемы, мешающие это сделать, почти все устранены.

  23. Ожидаемая дата релиза 2.1?

  24. №10481
    Александр Панцерный
    Александр Панцерный 27.04.2016, 1:29:54

    Кстати, ссылка на сайт комментатора не работает, если указан протокол https.

  25. №10482
    LAV45
    LAV45 28.04.2016, 4:31:19

    Try to use traits + events instead of behaviors and drop behaviors.

    Эт вы явно погорячились )) behavior очень удобно использовать как mixin со своими (private) методами и свойствами, + есть наследование. Я честно говоря слабо представляю как это все можно загнать в trait, но что-то мне подсказывает ничего хорошего из этого не получится. Sum, можешь поведать как вы себе представляете новую замену behavior.

  26. №10503
    Sam
    Sam 15.05.2016, 1:58:47

    LAV45, да уже переиначили планы на 2.1. Меньше изменений будет.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.