Короткая заметка о том, как заработать геморрой и панические атаки по ночам.
В компании, в которой я сейчас работаю, на основном проекте была версия PHP 7.1
. Уже подходит время к релизу стабильной версии 7.3
, что, лично для меня, сигнал обновить проект до 7.2
.
В проекте около 67 сторонних PHP-пакетов, где 4 из них от Symfony
. Я очень люблю и уважаю Symfony
за такие замечательные пакеты, как filesystem
, finder
и особенно console
, а также за их огромный вклад в Open-Source и PHP комьюнити, но я не понимаю, как можно так относиться к пользователям?
Когда я обновлял пакеты от Zend
, то каждый релиз сопровождался исчерпывающей информацией о всех изменениях в пакетах, исходя из которых можно было приблизительно понять, что точно отвалится еще до запуска тестов на проекте:
А также, в корне пакета имелся .travis.yml
, где был список версий PHP на которых проводилось тестирование функционала, что включало в голове, "ага, значит, маловероятно, что на 7.2 это упадет...":
Дополнительно, можно еще и travis-ci ковырнуть, чтобы точно убедиться в ответственности комьюнити, если "на слова" не вериться:
И так в каждом пакете от Zend
, что я использовал: полная и исчерпывающая информация. Огромное уважение к Zend
за это.
К сожалению, у Symfony
, у большинства пакетов, такого нет, из-за чего обновление версии PHP превращается в паранойю, панические атаки и запой... Конечно, я утрирую, просто, это все выливается в лишние затраты времени, в которые входят: установка свежей версии пакета (которая, может быть, даже и не полетит; а если таких пакетов было с десяток, то, добро пожаловать в увлекательный аттракцион с перебором версий), установка зависимостей внутри этого пакета, подготовка тестового окружения, запуск тестов... И так по кругу, если вдруг, пакет "не взлетел".
В проекте, как я уже выше писал, у нас 4 пакета от Symfony:
- console;
- filesystem;
- yaml;
- process.
Где, в корне каждого пакета отсутствует .travis.yml
, а в релизах - конь не валялся:
Так было около года назад, когда я апгрейдился с 7.0
на 7.1
, так это и по сей день. Вот и все. Выводы делайте сами.
Данный пост я написал специально для некоторых людей, которые по априори считают себя арийской нацией, раз пишут на
Symfony Framework
или используют пакетыSymfony
, и когда теперь меня спросят, чемNoName Framework
(илиNoName
комьюнити) лучше нашего, то можно смело делиться данной статьей и добавлять, что, по крайней мере, разрабу не придется закидываться Феназепамом.