Команда MVC PHP фреймворка Yii релизнула версию 1.1.17. Забрать её можно либо через Composer, либо скачать с yiiframework.com/download/.

В этом релизе 36 исправлений и улучшений. Полный список можно найти здесь.

Важно: В релиз включено ломающее совместимость изменение в работе с кешем APCu. Если используете его, читайте инструкции.

Спасибо всем, кто принимал участие в подготовке этого релиза. Без вас его бы не было.

Стоит отметить, что 1.1.17 — последняя версия в ветке 1.1, включающая улучшения. Команда занята активной разработкой и поддержкой актуальной ветки 2.0. Следить за разработкой можно на GitHub. Также читайте наш твиттер и вступайте в группу в Facebook.

Главные улучшения этого релиза следующие:

— Совместимость с PHP 7.
CHttpRequest научился парсить JSON в запросах с типом application/json.
— Реализован StatePersister, работающий с базой данных.
— Автозагрузчик теперь не ругается на несуществующие классы в пространствах имён, что позволяет отработать другим загрузчикам.
Собираетесь ли вы переводить свои проекты с 1.1 на 2.0?

Проголосовало 465 человек. Воздержалось 137 человек.

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

Комментарии (28)


  1. Akdmeh
    13.01.2016 21:46

    Можно надеяться, что после этого все силы разработчиков пойдут на 2.0/2.1?


    1. SamDark
      13.01.2016 22:04
      +2

      Да.


      1. dkuzevanov
        14.01.2016 09:24

        Есть хоть надежда, что починят Query Builder для MSSQL?


        1. SamDark
          14.01.2016 18:55

          Да. Тестами поломавшаяся у вас часть покрыта? issue есть на GitHub? Если знаете как фиксить, помогайте. Только мелкими кусочками. Сразу огромные порции кода очень тяжело проверить.


          1. dkuzevanov
            15.01.2016 09:11

            Вот баг-репорт: https://github.com/yiisoft/yii2/issues/10020
            Там есть вся информация. Очень надеюсь что вопрос будет решен.


  1. dkuzevanov
    14.01.2016 09:16
    +2

    «Собираетесь ли вы переводить свои проекты с 1.1 на 2.0?»
    Уже перевёл.

    Не хватает ответа.


    1. Fesor
      14.01.2016 11:23
      +1

      Есть «Да» которое покрывает данный кейс.


  1. annenkov
    14.01.2016 18:48
    +1

    «переводить свои проекты» слишком мягко сказано для данного случая, скорее все таки переписывать, потому и процент желающих не так уж велик несмотря на все преимущества


    1. Fortop
      16.01.2016 02:03

      Переписывать это г-но, называемое проектом, все равно нужно.
      Но вот разумных причин делать это на Yii 2 не наблюдается


      1. SamDark
        16.01.2016 15:03

        На Yii 1.1 будете переписывать? :)


        1. Fortop
          16.01.2016 21:06
          -1

          Вообще без Yii.

          Одна из причин, хотя далеко не единственная, почему это стало «г-ном», как раз Yii на котором его изначально писали.

          Так что может быть Symfony, а может быть Zend


          1. dkuzevanov
            16.01.2016 23:07
            +2

            А что плохого в Yii?
            Ну ка давайте назовите огласите шорт-лист.


            1. Fortop
              17.01.2016 12:35

              Вы бы лучше спросили что хорошего…

              Дублирование методов реализации функционала. Практически повсеместно (расширения/модули, виджеты/компоненты)
              Активная привязка и поощрение использовать AR.
              Фильтры, которые не фильтры.

              Кстати, в самом фреймворке откровенно встречается китайский(индуский) код. Искать сейчас лень, но когда в очередной раз погружусь в него, то, если не забуду, пример выложу.


              1. dkuzevanov
                17.01.2016 12:49
                +1

                «Дублирование методов реализации функционала» — что Вы под этим имеете ввиду?

                Чем плох AR? Это всего лишь один из инструментов, Вас никто не заставляет его использовать.
                Что с фильтрами не так?

                Про «индийский» код — Вы уж потрудитесь оперировать фактами.

                В Вашем комментарии одна вода, давайте обсуждать конкретные факты и примеры.


                1. Fesor
                  17.01.2016 12:52

                  Вас никто не заставляет его использовать.


                  В Yii2 есть что-нибудь типа ларавелевский FormRequest-ов? Ну мол что бы отделить валидацию данных запроса от бизнес объектов?

                  В целом проблема в том что обычно люди используют то что есть, а не то что надо в данной конкретной ситуации. Тут уже была рядом дискуссия на эту тему, что AR подходит далеко не для всех задач, но есть «фанаты» которые просто не знают о других подходах.


                  1. SamDark
                    17.01.2016 13:04

                    Да, валидация не в AR, конечно, есть. Можно использовать не AR-модель, а можно вообще без модели.


                    1. Fesor
                      17.01.2016 13:35

                      Вы об этом? Ну то есть надо замэпить данные на какого-то наследника Model, сделать например MyActionRequest < — Model, замэпить руками параметры реквеста (благо это просто), провалидировать… Как собственно это и происходило в Yii1.1.


                      1. SamDark
                        17.01.2016 17:35

                        Об этом: www.yiiframework.com/doc-2.0/guide-input-validation.html#ad-hoc-validation

                        Немного совсем не дочитали.


              1. Fesor
                17.01.2016 12:50

                Это справедливо для версии 1.1. В 2.0 не сказать что координально изменилась ситуация, но хотя бы есть IoC и можно писать нормально, если приложить усилия. Потому без жесткого код ревью давать новичку в руки Yii я бы не стал (ну и Laravel туда же). В прочем это справедливо для любого PHP фреймворка.

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


                1. SamDark
                  17.01.2016 13:06

                  Именно. На любом фреймворке можно превратить проект в неперевариваемую субстанцию.


          1. SamDark
            17.01.2016 13:02

            Просто оставлю это здесь: rmcreative.ru/blog/post/effekt-vtorogo-freymvorka


            1. Fesor
              17.01.2016 13:30

              Ну… в Yii1.1 приходилось прикладывать слишком много усилия что бы сделат так как я хочу, а не как заложено фреймворком. Банально много бойлерплейта. С 2.0 ситуация конечно получше (насколько я могу судить бегло пробежавшись по документации).


            1. Fortop
              17.01.2016 13:40
              +1

              Бессмысленно, хотя бы в силу того, что когда вы ещё только начинали подвизаться на стезе Yii (помню ещё по Винграду) опыт работы с легаси кодом у меня уже был.


              1. SamDark
                17.01.2016 17:36

                А с фреймворками? Инструмент так и так обвиняешь после заваленного проекта. Я за собой тоже замечал.


                1. Fortop
                  17.01.2016 17:50
                  +1

                  С фреймворками тоже нормально (Codeigniter, ZF оба, Kohana, Symfony 2)
                  И это не «мой» проект и он не завален ещё :) я получил то, что хотел — сложную кучу дерьма.

                  А дальше уже наложились конкретные проблемы самого проекта — с десяток различных разработчиков за время его жизни, не менее пяти разных подходов…
                  В куче с обычным винегретом бизнестребований получили как обычно — франкенштейна.

                  Но это не отменяет факт — одна из причин именно фреймворк и то, к чему он подталкивает, например, зенд страдал от раздутых контроллеров далеко не в одном проекте.

                  Я даже примерно понимаю откуда родились все эти scopes, behaviors etc. в самом Yii вместе с сценариями и событиями.
                  Писало как минимум несколько людей без четкого проектирования. Или было желание попробовать каждую новую «фишку».


                  1. SamDark
                    17.01.2016 18:26

                    А, ну так legacy оно legacy и есть. Мне тоже такие проекты доставались, вытягивали. Попробовать каждую фишку и использовать её по делу и без — это болячка распространённая. С любым фреймворком выходит боком.


                    1. Fesor
                      17.01.2016 19:48

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


                      1. SamDark
                        18.01.2016 02:20

                        Верно. Я этим занимаюсь в меру сил и возможностей.