Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Config Formats and Symfony - Let's talk about DX
Search
Nicolas Grekas
September 19, 2025
Technology
2
24
Config Formats and Symfony - Let's talk about DX
Config Formats and Symfony - Let's talk about DX
Nicolas Grekas
September 19, 2025
Tweet
Share
More Decks by Nicolas Grekas
See All by Nicolas Grekas
Taming Dependency Injection
nicolasgrekas
1
77
Modern Approaches to Web Security: Stateless CSRF Protection Explained
nicolasgrekas
2
190
What's new in Symfony 7.x
nicolasgrekas
2
100
L'intégration de l'IA dans Symfony
nicolasgrekas
0
40
Lazy Objects in PHP and Symfony
nicolasgrekas
2
310
What's new in Symfony 7.1
nicolasgrekas
2
160
Embracing the Future with Symfony 7
nicolasgrekas
0
190
Symfony, PHP and its Foundation
nicolasgrekas
0
3.7k
Symfony 7: A tribute to Attributes
nicolasgrekas
1
530
Other Decks in Technology
See All in Technology
仕様駆動 x Codex で 超効率開発
ismk
2
1.3k
[mercari GEARS 2025] Keynote
mercari
PRO
0
160
仕様は“書く”より“語る” - 分断を超えたチーム開発の実践 / 20251115 Naoki Takahashi
shift_evolve
PRO
0
170
データ組織ゼロから投資を得るまでの軌跡と未来図 〜AIの前にやるべきこと〜 / Building a Data Organization from Scratch: The Journey to Securing Investment and a Vision for the Future
kaonavi
0
120
なぜThrottleではなくDebounceだったのか? 700並列リクエストと戦うサーバーサイド実装のすべて
yoshiori
7
2.6k
Black Hat USA 2025 Recap ~ クラウドセキュリティ編 ~
kyohmizu
0
510
エンタープライズ企業における開発効率化のためのコンテキスト設計とその活用
sergicalsix
1
300
Master Dataグループ紹介資料
sansan33
PRO
1
3.9k
探求の技術
azukiazusa1
0
280
お試しで oxlint を導入してみる #vuefes_aftertalk
bengo4com
2
1.4k
Digitization部 紹介資料
sansan33
PRO
1
5.9k
AWS IAM Identity Centerによる権限設定をグラフ構造で可視化+グラフRAGへの挑戦
ykimi
2
690
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Navigating Team Friction
lara
190
15k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Being A Developer After 40
akosma
91
590k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
24
1.5k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Rails Girls Zürich Keynote
gr2m
95
14k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Transcript
Config Formats and Symfony Let's talk about DX @nicolasgrekas 20
Years of Symfony! Let's celebrate at SymfonyCon Amsterdam 2025 November 27 – 28, 2025
Making the Symfony Experience *Exceptional* June 18, 2014 • Ryan
Weaver
Being Aggressive, Focusing on Beginners June 18, 2014 • Ryan
Weaver
Hello symfony/flex - 2017 services: _defaults: autowire: true autoconfigure: true
public: false App\: resource: '../src/*' exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}' App\Controller\: resource: '../src/Controller' tags: ['controller.service_arguments'] @nicolasgrekas
config/services.yaml services: _defaults: autowire: true autoconfigure: true public: false App\:
resource: '../src/*' exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}' App\Controller\: resource: '../src/Controller' tags: ['controller.service_arguments'] @nicolasgrekas
config/routes.yaml controllers: resource: path: ../src/Controller/ namespace: App\Controller type: attribute @nicolasgrekas
config/routes.yaml controllers: resource: attributes type: tagged_services @nicolasgrekas
@nicolasgrekas
@nicolasgrekas
@nicolasgrekas
Options paralysis @nicolasgrekas YAML? XML? PHP? No Config?
@nicolasgrekas
@nicolasgrekas
Drop ext-xml requirement Drop XML support! Being Aggressive, Focusing on
Beginners
Self-impact Analysis @nicolasgrekas Services and bundles Routes Validation constraints Serializer
metadata Translations PhpStorm plugin et al. debug:lint command
@nicolasgrekas
@nicolasgrekas
Self-impact Analysis @nicolasgrekas Services and bundles Routes Validation constraints Serializer
metadata Translations PhpStorm plugin et al. debug:lint command
@nicolasgrekas
@nicolasgrekas
@nicolasgrekas
@nicolasgrekas
@nicolasgrekas
@nicolasgrekas
@nicolasgrekas
@nicolasgrekas
Self-impact Analysis @nicolasgrekas Services and bundles Routes Validation constraints Serializer
metadata Translations PhpStorm plugin et al. debug:lint command
@nicolasgrekas
Options paralysis @nicolasgrekas YAML? XML? PHP? No Config?
config/services.yaml # $schema: ../vendor/symfony/dependency-injection/Loader/schema/services.schema.json services: _defaults: autowire: true autoconfigure: true
App\: resource: '../src/*' @nicolasgrekas
@nicolasgrekas
@nicolasgrekas
@nicolasgrekas
@nicolasgrekas
Options paralysis @nicolasgrekas YAML XML? PHP? No Config?
@nicolasgrekas
@nicolasgrekas
PHP FTW @nicolasgrekas • Autocompletion • Static analysis • Symbol
referencing • Automated patching (still compile-time only)
10ths of Symfony contributors Ondrej for phpstan Roman for JetBrains
Forever Ryan for the inspiration et al. Damn this Community is Awesome! @nicolasgrekas Let's celebrate at SymfonyCon Amsterdam 2025 November 27 – 28, 2025
The future is ours to build, all together! @nicolasgrekas Let's
celebrate at SymfonyCon Amsterdam 2025 November 27 – 28, 2025
symfony.com/slack Mutual aid Kindness CARE team @nicolasgrekas Let's celebrate at
SymfonyCon Amsterdam 2025 November 27 – 28, 2025