SensioLabs
Migratingto Symfony 3.0
by @nicolasgrekas
Let me tell youhow Symfony 3.0was born
components
framework+=
Highest quality
processes=
Symfony LifecycleRelease
end of support
+8 months +14 months +36 months +48 months
end of security support
end of security support
end of support
Standard Releases(2.4, 2.5, 2.6, 3.0)
LTS Releases(2.3, 2.7, 2.8)
Semantic Versioning
http://semver.org
One monolithic repo.
+46 synchronized
components
=
Backward Compatibility
The Backward Compatibility Promise
http://symfony.com/bc
Guidelines for Backward Compatibility
Example: Moving theFlattenException class
Example: Moving theFlattenException class
Example: Moving theFlattenException class
Example: Moving theFlattenException class
•
•
•
Contribution Workflow
Patching Symfony 2.3 LTS
Continuous integration
Appveyor for Windows
What’s newin Symfony 3?
Well... Nothing!
Fabien already told you
All new features are already included in Symfony 2.8
What’s new in Symfony 3?
The Symfony 3.0 Architecture
•
•
•
•
•
What’s newin Symfony 3?
TheContinuous UpgradePath
The Symfony Core Team Wish!
Continuous Migration Path Before 2.7
•
•
•
•
•
•
•
Continuous Migration Path Since 2.7
•
•
•
•
•
•
•
Trigger deprecation notices at run-time
Trigger deprecation notices at run-time
Trigger deprecation notices at run-time
Trigger deprecation notices at run-time
Trigger deprecation notices at run-time
Trigger deprecation notices at run-time
Trigger deprecation notices at run-time
It has to workfor Symfony itself, component by component
Cross Versions Dependencies
•
o
o ~2.x|~3.0.0
The @legacy PHPUnit Group
Cross Versions Dependencies
•
o
o ~2.8|~3.0
Prefer Lowest Requirements
Sustainabilityof the CUP promise?
What’s newin Symfony 3?
MuchStricterQualityProcesses
What about the Symfony ecosystem?
Use the Symfony PHPUnit Bridge
Allow Symfony ~3.0 Dependencies
Their turn to deprecate
Their turn to deprecate
What’s newin Symfony 3?
A Processto RemoveLegacy Code
•
•
•
•o
o
o
•
•
Some guidelines
SensioLabs
Merci !
@nicolasgrekas