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
Symfony 4.2
Search
Tim Jabs
November 28, 2018
Education
0
620
Symfony 4.2
A talk about symfony 4.2.
Tim Jabs
November 28, 2018
Tweet
Share
More Decks by Tim Jabs
See All by Tim Jabs
Symfony 4.2 updated
rubinum
0
130
Symfony 4.1 What's New?
rubinum
4
1.1k
Other Decks in Education
See All in Education
1216
cbtlibrary
0
160
Introduction - Lecture 1 - Advanced Topics in Big Data (4023256FNR)
signer
PRO
2
2.3k
バージョン管理とは / 01-a-vcs
kaityo256
PRO
1
210
青森県の人口減少について | | 下山学園高等学校
aomori6
PRO
0
100
多様なメンター、多様な基準
yasulab
6
19k
MySmartSTEAM 2526
cbtlibrary
0
210
Lenguajes de Programacion (Ingresantes UNI 2026)
robintux
0
140
The Next Big Step Toward Nuclear Disarmament
hide2kano
0
300
2025年の本当に大事なAI動向まとめ
frievea
1
200
AIで日本はどう進化する? 〜キミが生きる2035年の地図〜
behomazn
0
130
ブランチ操作 / 02-a-branch
kaityo256
PRO
0
200
2026 Medicare 101 Presentation
robinlee
PRO
0
200
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
What does AI have to do with Human Rights?
axbom
PRO
1
2k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
770
The untapped power of vector embeddings
frankvandijk
2
1.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Building AI with AI
inesmontani
PRO
1
800
Deep Space Network (abreviated)
tonyrice
0
92
We Have a Design System, Now What?
morganepeng
55
8k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
320
What's in a price? How to price your products and services
michaelherold
247
13k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Transcript
SYMFONY 4.2 WHAT'S NEW? 1
Who am I? Tim Jabs Software Developer @Sensiolabs Deutschland
2
3
4 Symfony 4.2
DEPRECATIONS !5
DEPRECATIONS !6
DEPRECATIONS !7 Deprecated template directory: old default: src/Resources/views/ new default:
templates/ How can I change this? config/packages/twig.yaml twig.default_path
DEPRECATIONS !8 Deprecated the Kernel name and root dir: No
more: KernelInterface::getName()/ getRootDir() => getProjectDir() If you need a distinctive ID for the kernel: KernelInterface::getContainerClass()
DEPRECATIONS !9 Deprecated ContainerAwareCommand class: No more: ContainerAwareCommand Use: Command
+ proper dependency injection
DEPRECATIONS !10 Deprecated Controller Class: No more: Controller $this->get(FooClass::class) Use:
AbstractController + proper dependency injection
DEPRECATIONS !11
DEPRECATIONS !12
DEPRECATIONS !13 Deprecated process commands as string:
SIDE NOTE !14 before: after:
DEPRECATIONS !15 Deprecated tree builders without root nodes:
DEPRECATIONS !16 Take care! There are even more deprecations take
this https://github.com/symfony/symfony/blob/4.2/ UPGRADE-4.2.md
NEW COMPONENT !17 VarExporter Example: export($data)
ENV FILE PER ENVIRONMENT !18
ENV FILE PER ENVIRONMENT !19 No More: .env.dist But: .env
is part of of the repository now
ENV FILE PER ENVIRONMENT !20 before: .env after: .env .env.test
.env.dev .env.dev.local
ENV FILE PER ENVIRONMENT !21 //.env DATABASE_URL: … DATABASE_URL_TEST: …
DATABASE_URL_TEST_LOCAL: …
TRANSLATION RELATED IMPROVEMENTS !22
TRANSLATION RELATED IMPROVEMENTS !23 before:
TRANSLATION RELATED IMPROVEMENTS !24 after:
TRANSLATION RELATED IMPROVEMENTS !25 ICU parent locales as fallback: Example:
before: es_AR => es after: es_AR => es_419 => es
TRANSLATION RELATED IMPROVEMENTS !26 Update XLF translations by default: before:
bin/console translation:update // output default JSON after: bin/console translation:update // output default XLF
TRANSLATION RELATED IMPROVEMENTS !27 Lint multiple XLIFF dirs or files:
bin/console lint:xliff supports multiple directories now
AUTOWIRING BY TYPE AND NAME !28
AUTOWIRING BY TYPE AND NAME !29
AUTOWIRING BY TYPE AND NAME !30
CACHE STAMPEDE !31
CACHE STAMPEDE !32
CACHE STAMPEDE !33
SECURITY !34
SECURITY !35 Detailed security voters decisions
SECURITY !36 before:
SECURITY !37 after:
FORMS !38
FORMS !39 Clear form errors:
FORMS !40 Improved form type extension
FORMS !41 before: Improved form type extension
FORMS !42 before: Improved form type extension
FORMS !43 after: Improved form type extension
FORMS !44 Improved form type extension
DIVISIBLE CONSTRAINT !45
THANK YOU 46
REFERENCES !47 Overview: https://symfony.com/blog/symfony-4-2-curated-new-features Changelog: https://symfony.com/blog/symfony-4-2-0-beta1-released https://symfony.com/blog/symfony-4-2-0-beta2-released Translations: https://symfony.com/blog/new-in-symfony-4-2-translation-related-improvements
https://symfony.com/blog/new-in-symfony-4-2-intlmessageformatter Deprecations: https://symfony.com/blog/new-in-symfony-4-2-important-deprecations Security: https://symfony.com/blog/new-in-symfony-4-2-samesite-cookie-configuration https://symfony.com/blog/new-in-symfony-4-2-auto-secure-cookies https://symfony.com/blog/new-in-symfony-4-2-detailed-security-voters-decisions
REFERENCES !48 Forms: https://symfony.com/blog/new-in-symfony-4-2-clear-form-errors https://symfony.com/blog/new-in-symfony-4-2-improved-form-type-extensions Misc: https://symfony.com/blog/new-in-symfony-4-2-cache-stampede-protection https://symfony.com/blog/new-in-symfony-4-2-divisibleby-constraint https://symfony.com/blog/new-in-symfony-4-2-addlink-shortcut https://symfony.com/blog/new-in-symfony-4-2-define-env-vars-per-environment
https://symfony.com/blog/new-in-symfony-4-2-acceptable-request-formats https://symfony.com/blog/new-in-symfony-4-2-simpler-custom-serialized-names https://symfony.com/blog/new-in-symfony-4-2-wait-until-processes-are-ready https://symfony.com/blog/new-in-symfony-4-2-varexporter-component https://symfony.com/blog/new-in-symfony-4-2-console-tables-improvements https://symfony.com/blog/new-in-symfony-4-2-pdo-based-lock-storage https://symfony.com/blog/new-in-symfony-4-2-autowiring-by-type-and-name https://symfony.com/blog/new-in-symfony-4-2-simpler-functional-tests https://symfony.com/doc/current/configuration/dot-env-changes.html