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
62
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Config Formats and Symfony - Let's talk about DX
Config Formats and Symfony - Let's talk about DX
Nicolas Grekas
September 19, 2025
More Decks by Nicolas Grekas
See All by Nicolas Grekas
Taming Dependency Injection
nicolasgrekas
1
120
Modern Approaches to Web Security: Stateless CSRF Protection Explained
nicolasgrekas
3
230
What's new in Symfony 7.x
nicolasgrekas
2
140
L'intégration de l'IA dans Symfony
nicolasgrekas
0
67
Lazy Objects in PHP and Symfony
nicolasgrekas
2
390
What's new in Symfony 7.1
nicolasgrekas
2
210
Embracing the Future with Symfony 7
nicolasgrekas
0
230
Symfony, PHP and its Foundation
nicolasgrekas
0
5.3k
Symfony 7: A tribute to Attributes
nicolasgrekas
1
580
Other Decks in Technology
See All in Technology
#エンジニアBooks 30分でわかる 「技術記事を書く技術」 / engineer-books 2026-06-30
jnchito
1
150
CVE-2026-20833_脆弱性対応とAES 化について
jukishiya
0
300
なぜ人は自分のプロジェクトを 「なんちゃってアジャイル」と 自嘲するのか
kozotaira
0
210
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
230
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
260
飲食店もAIで。レジ締めやハンディシステムをつくってる話 / Using AI for restaurant management
vtryo
0
210
Hatena Engineer Seminar 37 jj1uzh
jj1uzh
0
320
水を運ぶ人としてのリーダーシップ
izumii19
4
1.1k
打造你的 AI 工作流:Agent Skill + MCP 實戰工作坊
appleboy
0
270
デジタル・デザイン:次の50年を描く「進化する青写真」
y150saya
0
630
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
どうして今サーバーサイドKotlinを選択したのか
nealle
0
160
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
600
Abbi's Birthday
coloredviolet
3
8.3k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
230
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
First, design no harm
axbom
PRO
2
1.2k
エンジニアに許された特別な時間の終わり
watany
107
250k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
WCS-LA-2024
lcolladotor
0
660
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Invisible Side of Design
smashingmag
301
52k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.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