В этом релизе 36 исправлений и улучшений. Полный список можно найти здесь.
Важно: В релиз включено ломающее совместимость изменение в работе с кешем APCu. Если используете его, читайте инструкции.
Спасибо всем, кто принимал участие в подготовке этого релиза. Без вас его бы не было.
Стоит отметить, что 1.1.17 — последняя версия в ветке 1.1, включающая улучшения. Команда занята активной разработкой и поддержкой актуальной ветки 2.0. Следить за разработкой можно на GitHub. Также читайте наш твиттер и вступайте в группу в Facebook.
Главные улучшения этого релиза следующие:
— Совместимость с PHP 7.
—
CHttpRequest
научился парсить JSON в запросах с типом application/json.— Реализован StatePersister, работающий с базой данных.
— Автозагрузчик теперь не ругается на несуществующие классы в пространствах имён, что позволяет отработать другим загрузчикам.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Комментарии (28)
dkuzevanov
14.01.2016 09:16+2«Собираетесь ли вы переводить свои проекты с 1.1 на 2.0?»
Уже перевёл.
Не хватает ответа.
annenkov
14.01.2016 18:48+1«переводить свои проекты» слишком мягко сказано для данного случая, скорее все таки переписывать, потому и процент желающих не так уж велик несмотря на все преимущества
Fortop
16.01.2016 02:03Переписывать это г-но, называемое проектом, все равно нужно.
Но вот разумных причин делать это на Yii 2 не наблюдаетсяSamDark
16.01.2016 15:03На Yii 1.1 будете переписывать? :)
Fortop
16.01.2016 21:06-1Вообще без Yii.
Одна из причин, хотя далеко не единственная, почему это стало «г-ном», как раз Yii на котором его изначально писали.
Так что может быть Symfony, а может быть Zenddkuzevanov
16.01.2016 23:07+2А что плохого в Yii?
Ну ка давайте назовите огласите шорт-лист.Fortop
17.01.2016 12:35Вы бы лучше спросили что хорошего…
Дублирование методов реализации функционала. Практически повсеместно (расширения/модули, виджеты/компоненты)
Активная привязка и поощрение использовать AR.
Фильтры, которые не фильтры.
Кстати, в самом фреймворке откровенно встречается китайский(индуский) код. Искать сейчас лень, но когда в очередной раз погружусь в него, то, если не забуду, пример выложу.dkuzevanov
17.01.2016 12:49+1«Дублирование методов реализации функционала» — что Вы под этим имеете ввиду?
Чем плох AR? Это всего лишь один из инструментов, Вас никто не заставляет его использовать.
Что с фильтрами не так?
Про «индийский» код — Вы уж потрудитесь оперировать фактами.
В Вашем комментарии одна вода, давайте обсуждать конкретные факты и примеры.Fesor
17.01.2016 12:52Вас никто не заставляет его использовать.
В Yii2 есть что-нибудь типа ларавелевский FormRequest-ов? Ну мол что бы отделить валидацию данных запроса от бизнес объектов?
В целом проблема в том что обычно люди используют то что есть, а не то что надо в данной конкретной ситуации. Тут уже была рядом дискуссия на эту тему, что AR подходит далеко не для всех задач, но есть «фанаты» которые просто не знают о других подходах.SamDark
17.01.2016 13:04Да, валидация не в AR, конечно, есть. Можно использовать не AR-модель, а можно вообще без модели.
Fesor
17.01.2016 13:35Вы об этом? Ну то есть надо замэпить данные на какого-то наследника Model, сделать например MyActionRequest < — Model, замэпить руками параметры реквеста (благо это просто), провалидировать… Как собственно это и происходило в Yii1.1.
SamDark
17.01.2016 17:35Об этом: www.yiiframework.com/doc-2.0/guide-input-validation.html#ad-hoc-validation
Немного совсем не дочитали.
Fesor
17.01.2016 12:50Это справедливо для версии 1.1. В 2.0 не сказать что координально изменилась ситуация, но хотя бы есть IoC и можно писать нормально, если приложить усилия. Потому без жесткого код ревью давать новичку в руки Yii я бы не стал (ну и Laravel туда же). В прочем это справедливо для любого PHP фреймворка.
Спасает только то, что новички обычно пишут весьма простой говнокод, который вполне себе поддается рефакторингу.SamDark
17.01.2016 13:06Именно. На любом фреймворке можно превратить проект в неперевариваемую субстанцию.
SamDark
17.01.2016 13:02Просто оставлю это здесь: rmcreative.ru/blog/post/effekt-vtorogo-freymvorka
Fesor
17.01.2016 13:30Ну… в Yii1.1 приходилось прикладывать слишком много усилия что бы сделат так как я хочу, а не как заложено фреймворком. Банально много бойлерплейта. С 2.0 ситуация конечно получше (насколько я могу судить бегло пробежавшись по документации).
Fortop
17.01.2016 13:40+1Бессмысленно, хотя бы в силу того, что когда вы ещё только начинали подвизаться на стезе Yii (помню ещё по Винграду) опыт работы с легаси кодом у меня уже был.
SamDark
17.01.2016 17:36А с фреймворками? Инструмент так и так обвиняешь после заваленного проекта. Я за собой тоже замечал.
Fortop
17.01.2016 17:50+1С фреймворками тоже нормально (Codeigniter, ZF оба, Kohana, Symfony 2)
И это не «мой» проект и он не завален ещё :) я получил то, что хотел — сложную кучу дерьма.
А дальше уже наложились конкретные проблемы самого проекта — с десяток различных разработчиков за время его жизни, не менее пяти разных подходов…
В куче с обычным винегретом бизнестребований получили как обычно — франкенштейна.
Но это не отменяет факт — одна из причин именно фреймворк и то, к чему он подталкивает, например, зенд страдал от раздутых контроллеров далеко не в одном проекте.
Я даже примерно понимаю откуда родились все эти scopes, behaviors etc. в самом Yii вместе с сценариями и событиями.
Писало как минимум несколько людей без четкого проектирования. Или было желание попробовать каждую новую «фишку».SamDark
17.01.2016 18:26А, ну так legacy оно legacy и есть. Мне тоже такие проекты доставались, вытягивали. Попробовать каждую фишку и использовать её по делу и без — это болячка распространённая. С любым фреймворком выходит боком.
Akdmeh
Можно надеяться, что после этого все силы разработчиков пойдут на 2.0/2.1?
SamDark
Да.
dkuzevanov
Есть хоть надежда, что починят Query Builder для MSSQL?
SamDark
Да. Тестами поломавшаяся у вас часть покрыта? issue есть на GitHub? Если знаете как фиксить, помогайте. Только мелкими кусочками. Сразу огромные порции кода очень тяжело проверить.
dkuzevanov
Вот баг-репорт: https://github.com/yiisoft/yii2/issues/10020
Там есть вся информация. Очень надеюсь что вопрос будет решен.