$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Switching off legacy code using one Symfony com...
Search
Loulier Guillaume
November 07, 2023
Programming
1
140
Switching off legacy code using one Symfony command at a time
Loulier Guillaume
November 07, 2023
Tweet
Share
More Decks by Loulier Guillaume
See All by Loulier Guillaume
Demandez et votre application répondra, la recherche sémantique avec PHP et Meilisearch
guikingone
1
93
Building a semantic search experience using PHP and Meilisearch
guikingone
0
190
Symfony UX et le frontend
guikingone
1
71
K6, stresser son application en douceur
guikingone
1
69
Need to search through your data? Heard about Meilisearch?
guikingone
1
250
Meilisearch
guikingone
1
140
SQLite en production ? Et si vous réévaluiez vos options ?
guikingone
1
1.1k
Dagger, la CI, autrement
guikingone
1
280
Rector, time to refactor your code easily
guikingone
2
360
Other Decks in Programming
See All in Programming
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7.3k
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
400
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
370
AIコーディングエージェント(Gemini)
kondai24
0
210
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
170
愛される翻訳の秘訣
kishikawakatsumi
1
310
JETLS.jl ─ A New Language Server for Julia
abap34
1
340
Integrating WordPress and Symfony
alexandresalome
0
150
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
160
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.3k
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
20k
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
1.8k
Featured
See All Featured
Navigating Team Friction
lara
191
16k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
Mobile First: as difficult as doing things right
swwweet
225
10k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
KATA
mclloyd
PRO
32
15k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
Six Lessons from altMBA
skipperchong
29
4.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Transcript
Switching off legacy code using one Symfony command at a
time
Greetings
Hellcome Guillaume Loulier / @Guikingone Lead developer @SensioLabs Works mainly
with PHP and Rust Sometimes, I break things, especially legacy ones (and I like that)
Summary 01 - Legacy code is fun 02 - Migrating,
a far far away dream 04 - Symfony to the rescue 05 - Wrapping up 01
Legacy code is fun
Well, it should
Diving into the joke Refu*toring - The process of taking
a well-designed piece of code and, through a series of small, reversible changes, making it completely unmaintainable by anyone except yourself. Jason Gorman
Let the fun begin A legacy code is just an
abandoned one that generate revenues Maintaining legacy code should be easy At least, until it breaks Never needed to migrate PHP 5 code?
Dealing with technical debt Technical debt is ambiguous Yesterday code
is already outdated, sorry Need to migrate it? Bon chance
Keep dreamin’
I made a dream
Time for a wishlist Tracking, being aware of changes, updating
and deleting A new interface? For which use case? What about this method arguments type? Code spread across repositories?
Sadly What about using a dedicated channel? Or using trigger_error?
Or tools like Sentry, OpenTelemetry and many more? What if we’re in a special architecture?
Symfony?
Well…
The full experience Symfony brings a lot of components Could
we bring them together to help us? Look at Rector, PHPStan and more! What if we could “track & switch off” files?
Time to “Switchoff” Built on top of Symfony components and
nikic/PHP-Parser (chief kiss) Attributes for the win! Analyze, check, switch off, repeat Could be used via the CLI / CI
Want a demo?
What’s next?
To sum it up Handling migration is hard, not to
say boring Symfony could ease the process but lack of tools Relying on a framework is a recipe for failure Each project has its own rules / flaws
What about switchoff? Not fully stable (for now) A Symfony
bundle? (Already planned) An HTML dashboard What about a PHPStan / Rector bridge?
Wrapping up