Новости Yii 2020, выпуск 6

    Всем привет!


    Почти три месяца прошло с последнего выпуска новостей. От нас почти ничего не было слышно. Мы работали. После расширения команды Yii 3 я больше занимаюсь управлением, ревю, проектированием и обсуждениями, чем непосредственно кодом. Получается неплохо. В общем темп ускорился, и мы всё ближе к нашим целям.


    Активность на официальном форуме и форуме yiiframework.ru стала совсем низкой если сравнивать со временами Yii 1 и Yii 2. Сообщество перешло в разные социальные сети и чаты.


    Я думаю, что такая миграция — это плохо. В соцсетях и чатах практически невозможно найти предыдущие ответы. Одни и те же вопросы повторяются практически каждый день и ответы не оседают в поиске. Почти уверен, что тот, кто первым начнёт собирать вопросы и ответы и публиковать их как статьи в wiki или посты в блоге, станет довольно популярным.


    А теперь перейдём к тому, что же интересного случилось с последнего выпуска.


    Yii 1


    Со мной связались Onetwist Software и предложили добавить поддержку PHP 8 в Yii 1.1 в обмен на пополнение фонда Yii (из которого мы частично финансируем Yii 3). В итоге в master версии 1.1 теперь есть поддержка PHP 8. Релиза пока не было. Ждём баг-репортов. Также:


    • Пайплайны перетащили с TravisCI на GitHub actions.
    • Тесты запускаются на версиях от PHP 5.3 до PHP 8.0. Пришлось пропатчить старый PHPUnit, но в итоге всё заработало. Части патча пригодятся и для Yii 2.

    Из других новостей Yii 1.1, Marco van 't Wout, давний пользователь Yii, вызвался разбирать тикеты и, вероятно, неофициально поддерживать Yii 1.1 после планируемого окончания поддержки. Посмотрим как пойдёт...


    Yii 2



    Мы постепенно переводим шаблоны приложения и расширения Yii 2 на GitHub actions. Это позволит нам нормально работать над будущими релизами.


    Yii 3


    2020 год не прост и много чего идёт не по плану. Вероятно, сдвинутся предполагаемые даты релиза, о которых я уже несколько раз неосторожно заявил. Тем не менее, публичный API меняется всё меньше, и значительная часть кода направлена на исправление ошибок и мелкие доработки, а не на перепроектирование API. Конечно, некоторые части, включая конфигурацию,
    всё ещё сильно меняются. Конфигурацией я пока не вполне доволен.


    Команда выпустила стабильные версии некоторых пакетов. Все они фреймворко-независимые и могут быть использованы в любом PHP-приложении:



    Готовятся и другие релизы.


    Ниже разберём интересные изменения и дополнения.


    Тесты и причёсывание


    • PHP 8 был добавлен как поддерживаемая версия в composer.json всех пакетов. Большинство уже совместимы, но пока не все.
    • После довольно длительного использования phan мы переходим на Psalm. Он более популярный и поддерживается PhpStorm.
    • Для многих пакетов реализованы дополнительные тесты, во многих пакетах тесты значительно улучшены на основе результатов мутационного тестирования через Infection. Вместе с общей зачисткой исправлено значительное количество ошибок.
    • Был создан пакет для поддержки тестов. Сейчас он используется командой Yii 3 для самого фреймворка, но, вероятно, его можно будет использовать и в своих приложениях.

    Пакеты



    Демо приложение и шаблон приложения



    Основные задачи, над которыми мы работаем, показаны на доске в Trello. Там есть и те, которых нет на GitHub. Например, редизайн страницы ошибки.


    Если хотите присоединиться к разработке, пишите мне в почту, на форум, в Telegram или по любому другому каналу.


    Команда


    Команда ещё выросла. Текущий состав есть на сайте:



    Также на страницу был добавлен Дмитрий Дерепко. На самом деле над Yii 3 он работает уже не мало, а вот на страницу мы как-то забыли его добавить :)


    Новые и переработанные внутренние соглашения:



    Обновлённые страницы в руководстве по фреймворку:



    Другие новости


    • На YiiPowered уже 597 проектов. Если вы не добавили свои — добавляйте. Можете даже не загружать скриншоты. Они подтянутся с реального сайта ночью.

    Рекомендации к чтению



    ️ Спасибо!


    Хочу сказать спасибо всем спонсорам и разработчикам, благодаря которым стала возможна разработка Yii 3. Вместе у нас всё получится.


    Отдельное спасибо тем, кто помог Yii 3 кодом:



    Также спасибо Ihor Sychevskyi за улучшения сайта yiiframework.com.

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

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

      +4

      Забавно то, как хоронили Yii все эти годы, а по итогу получится несколько совершенно иначе :D

        +3
        как и с PHP в целом )
          +1
          Ребят, вам нужно срочно подружиться) У вас двоих столько общего))
        +2

        Здорово наблюдать, как развивается проект вместе с языком и экосистемой. Успехов вам, ребята.

          +3

          Мне кажется, вы (команда Yii) выбрали очень правильный вектор развития и не пытаетесь всеми силами быть «не похожими на Symfony/очередной_psr_фреймворк» там, где это не нужно.


          Как на ваш взгляд, когда допилите Yii3, сразу будет куда изменяться в плане ломания обратной совместимости или доведёте до внутренней точки?

            +1

            Будем выпускать далее по SemVer. То есть накапливать ломающие изменения до выпуска мажорной версии. Будем ли поддерживать несколько мажорных версий пока остаётся вопросом. Ну и хочется всё-таки релизить чаще.

            0
            Спасибо. А есть приблизительная дата выхода Yii3 на данный момент? Жду с нетерпением
              0

              Внутреннее ощущение и цели есть, но озвучивать не хочется. Вдруг опять будет 2020-ый, версия 2.

              0
              Со стороны мне кажется, что фреймворк становится слишком многословным и становится более монструозным.

              Я правильно понимаю, что фреймворк Yii3 уходит от RAD и переходит больше в академ-плоскость разработки с кучей слоев абстракций в угоду дроблению и тестируемости.
                0

                В какой-то мере да. Дробление и тестируемость есть. «Слишком» мы упрощаем и потихоньку добавляем «сахар». Прям кучи слоёв нет.

                0
                В Yii2 при старте очередного проекта, приходится подчищать demo от контента и лишних файлов.
                Находил где-то классный скелет, но к сожалению утерял ссылку на репозиторий (если кто-то знает, напишите пожалуйста ответом на комментарий).

                Хотелось бы для yii3 что-то типа официального скелета для приложения, с готовым docker-compose для dev окружения.

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое