migrating to symfony 3.0
TRANSCRIPT
![Page 1: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/1.jpg)
SensioLabs
Migratingto Symfony 3.0
by @nicolasgrekas
![Page 2: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/2.jpg)
![Page 3: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/3.jpg)
Let me tell youhow Symfony 3.0was born
![Page 4: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/4.jpg)
components
framework+=
![Page 5: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/5.jpg)
Highest quality
processes=
![Page 6: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/6.jpg)
Releasing
![Page 7: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/7.jpg)
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)
![Page 8: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/8.jpg)
Semantic Versioning
http://semver.org
![Page 9: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/9.jpg)
Major
MinorPatch
![Page 10: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/10.jpg)
•o
o
o
•o
o
•o
o
![Page 11: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/11.jpg)
One monolithic repo.
+46 synchronized
components
=
![Page 12: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/12.jpg)
Backward Compatibility
![Page 13: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/13.jpg)
The Backward Compatibility Promise
http://symfony.com/bc
![Page 14: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/14.jpg)
Guidelines for Backward Compatibility
![Page 15: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/15.jpg)
Example: Moving theFlattenException class
![Page 16: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/16.jpg)
Example: Moving theFlattenException class
![Page 17: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/17.jpg)
Example: Moving theFlattenException class
![Page 18: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/18.jpg)
Example: Moving theFlattenException class
![Page 19: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/19.jpg)
Patching process
![Page 20: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/20.jpg)
•
•
•
Contribution Workflow
![Page 21: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/21.jpg)
Patching Symfony 2.3 LTS
![Page 22: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/22.jpg)
Continuous integration
![Page 23: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/23.jpg)
Travis Matrix
![Page 24: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/24.jpg)
Appveyor for Windows
![Page 25: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/25.jpg)
What’s newin Symfony 3?
![Page 26: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/26.jpg)
Well... Nothing!
Fabien already told you
![Page 27: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/27.jpg)
All new features are already included in Symfony 2.8
What’s new in Symfony 3?
![Page 28: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/28.jpg)
The Symfony 3.0 Architecture
•
•
•
•
•
![Page 29: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/29.jpg)
What’s newin Symfony 3?
![Page 30: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/30.jpg)
TheContinuous UpgradePath
![Page 31: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/31.jpg)
The Symfony Core Team Wish!
![Page 32: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/32.jpg)
Continuous Migration Path Before 2.7
•
•
•
•
•
•
•
![Page 33: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/33.jpg)
Continuous Migration Path Since 2.7
•
•
•
•
•
•
•
![Page 34: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/34.jpg)
Trigger deprecation notices at run-time
![Page 35: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/35.jpg)
Trigger deprecation notices at run-time
![Page 36: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/36.jpg)
Trigger deprecation notices at run-time
![Page 37: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/37.jpg)
Trigger deprecation notices at run-time
![Page 38: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/38.jpg)
Trigger deprecation notices at run-time
![Page 39: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/39.jpg)
Trigger deprecation notices at run-time
![Page 40: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/40.jpg)
Trigger deprecation notices at run-time
![Page 41: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/41.jpg)
It has to workfor Symfony itself, component by component
![Page 42: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/42.jpg)
Cross Versions Dependencies
•
o
o ~2.x|~3.0.0
![Page 43: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/43.jpg)
The @legacy PHPUnit Group
![Page 44: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/44.jpg)
Cross Versions Dependencies
•
o
o ~2.8|~3.0
![Page 45: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/45.jpg)
Prefer Lowest Requirements
![Page 46: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/46.jpg)
Sustainabilityof the CUP promise?
![Page 47: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/47.jpg)
•
•
•
•
![Page 48: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/48.jpg)
What’s newin Symfony 3?
![Page 49: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/49.jpg)
MuchStricterQualityProcesses
![Page 50: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/50.jpg)
What about the Symfony ecosystem?
![Page 51: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/51.jpg)
Use the Symfony PHPUnit Bridge
![Page 52: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/52.jpg)
Allow Symfony ~3.0 Dependencies
![Page 53: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/53.jpg)
Their turn to deprecate
![Page 54: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/54.jpg)
Their turn to deprecate
![Page 55: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/55.jpg)
What’s newin Symfony 3?
![Page 56: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/56.jpg)
A Processto RemoveLegacy Code
![Page 57: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/57.jpg)
Now your turn!
![Page 58: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/58.jpg)
•
•
•
•o
o
o
•
•
Some guidelines
![Page 59: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/59.jpg)
Some guidelines
![Page 60: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/60.jpg)
Some guidelines
![Page 61: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/61.jpg)
Some guidelines
![Page 62: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/62.jpg)
Some guidelines
![Page 63: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/63.jpg)
Some guidelines
![Page 64: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/64.jpg)
Some guidelines
![Page 65: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/65.jpg)
Some guidelines
![Page 66: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/66.jpg)
Some guidelines
![Page 67: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/67.jpg)
Now your turn!
![Page 68: Migrating to Symfony 3.0](https://reader031.vdocuments.us/reader031/viewer/2022022201/589a8bde1a28abae648b481d/html5/thumbnails/68.jpg)
SensioLabs
Merci !
@nicolasgrekas