Обновление реального проекта на Symfony(с 3.4 на 5.2). Symfony upgrade

Опубликовано: 04 Октябрь 2024
на канале: Просто о Laravel. CutCode
1,615
66

В этом ролике я кратко расскажу как выполнял работу по обновлению реального проекта на Symfony. Upgrade симфони с версии 3.4 с PHP 5.4 до symfony версии 5.2 и PHP 8. Кому интересна тема - смотрим обязательно!

#symfony#laravel#cutcode
---------------------------------------------------------------------------------
Станьте спонсором канала, это очень модно и помогает каналу:
   / cutcoderu  

❗️❗️❗️как делать сложные сайты на laravel? Это просто с cutcode!
Поддерживай мой проект - https://cutcode.ru/

🤖🤖🤖Мой помощник Тэйлор готов выдать тебе подарок. Забирать тут - https://cutcode.ru/chat-bot
---------------------------------------------------------------------------------
⏰ Таймкоды:
00:00 Введение
01:01 Обзор документации по обновлению
04:05 Проблема с excelbundle
05:48 Структура проекта до upgrade
08:16 Проблемы проекта
09:07 Использование PHPStorm
13:00 Обзор проекта с 5й версией Symfony
13:30 Подведение итогов

Всех приветствую на канале Cutcode! Недавно у меня была задача скажем так небольшой челлендж, который заключался в апгрейде проекта на symfony с версии 3.4 с PHP 5.4 до symfony версии 5.2 и PHP 8. Такой в целом большой апгрейд сразу через несколько мажорных версий. И у меня по завершению возникла идея поделиться опытом апгрейда с вами, тем более что был опрос в сообществе он показал что вам эта тема будет интересна. Само собой мы не будем проводить upgrade в реал тайме, так как во-первых я его уже закончил, а во-вторых он занял немало времени, а именно 40 часов и снимать все это в прямом эфире и еще отвлекаться на съемку и монтаж - ресурсов само собой у меня не было. Но мы пройдемся по всем проблемам и особенностям и постараюсь разложить все по полочкам, и показать.

Итак друзья в целом скажу что я не эксперт в symfony, моя религия в рамках PHP это Laravel, но и симфони для меня не черный ящик. Так или иначе я с ним сталкивался и само собой не мог пройти мимо огромного количества пакетов под симфони, которые супер популярны и используются даже в нашем любимом Laravel. Как вы думаете, с чего я начал реализацию апгрейда? Ответ - само собой с официальной документации апгрейд я разбил на два основных этапа - сначала мы проапгрейдимся с третьей до четвертой версии и только потом до 5.

Давайте пройдемся по документации и инструкциям по апгрейду. Как я и говорил начинаем с апгрейда к версии 4. И 1 пункт инструкций это исправление деприкации классов и методов. И на помощь нам приходят тесты мы запускаем тесты, и если наш проект максимально покрыт тестами, то мы увидим сразу все уведомления о деприкациях и быстро и легко их исправим. Но друзья сразу же меня ожидали небольшие проблемы, а именно в этом проекте полное отсутствие тестов. Покрытие проекта тестами ноль процентов. Видимо разработчики в ту пору еще не слышали о юнит тестах и как видим основные бандлы даже не имеют директорию с тестами. В одном бандле для такая директория есть, здесь есть тест, но этот дефолтный который у нас поставляется вместе с установкой symfony. Он нам никак не поможет. Друзья я иногда использую фразу "хороший разработчик это ленивый разработчик" и меня часто понимают неправильно - думают что как раз это тот разработчик которые ленятся писать тесты, тайпхинтить и так далее. Но я имею в виду совсем другое с точностью да наоборот. Ленивый разработчик не будет пренебрегать тестами, так как в будущем у него с этим возникнет куча проблем и он потратит кучу лишнего времени. Вот как здесь живой пример - нет тестов.

Теперь чтобы вычислить все депрекации необходимо прокликать весь проект, а здесь сотни разделов, внести изменения и опять прокликать весь проект чтобы понять что ничего не сломали.

---------------------------------------------------------------------------------
📹 делитесь этим видео с друзьями:
   • Обновление реального проекта на Symfo...  

https://zen.yandex.ru/video/watch/623...

🔔 подпишитесь на YouTube-канал: https://www.youtube.com/c/CutCodeRu?s...

📼 Курс по Laravel с нуля:
   • Курс по Laravel 8 обучение с нуля. Бе...  

Обновление реального проекта на Symfony(с 3.4 на 5.2). Symfony upgrade

---------------------------------------------------------------------------------
🔗 наш сайт: https://cutcode.ru/
📷 наш instagram:   / cutcoderu  
📱 Наш telegram-канал: https://t.me/laravel_cutcode