image.png

Продвинутая рефлексия

Symfony посмотрели на типун Удальцова и захотели такой же. Получился компонент типунфъ в сдержанном и консервативном стиле от дедов. Хочешь не хочешь, а эта херня получит распространение.

Кирилл Несмеянов, кстати, подсуетился раньше и запилил PTL, который выглядит более завершенным. Но это только снаружи: я решил попробовать пакет Mapper (больная для меня тема), однако документация отсутствует, а установить по ридми мне его не удалось:

$ composer require type-lang/mapper
$: The term '$' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

С маппером от Кирилла не прокатило, но эй, тут релизнулся AutoMapper v9.0. Девятая версия, Карл! Такой богатой историей версий может похвастаться только phpunit, подумал я. Но нет, версии начинаются с 8.0.0, а звёзд даже немного меньше чем у Trap (а должно быть НАМНОГО меньше 😉). Кстати, забавно, что в этом маппере есть только один метод map().

Упростили так упростили.

Версионирование

В закрытых сверхсекретных чатах Yii, доступ к которым не получить даже по подписке в 500 рублей, возникли вбросы на темы:

image.png

Скажу лишь своё мнение.

Не считаю, что версионирование Symfony обусловлено маркетинговыми загонами. Версионирование платформы сквозь все пакеты для меня, как пользователя, выглядит вполне удобной опцией. Традицию делать версию Х.4.Х LTS тоже отношу к плюсам.

Разработка всех пакетов фреймворка ведётся в монорепе, изменения из которой потом автоматически раскидываются в отдельные репозитории. И так делают многие.

Мажорный релиз на пакете платформы, в котором даже не было каких-то изменений, тоже вписывается в картину SemVer (не запрещается повышать мажорную версию при минорных исправлениях).

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

У Yii3 каждый пакет живёт своей версионной жизнью. Это хорошо и плохо.