This week, Symfony development activity was very intense. First, we continued removing some container injections in favor of service locators. Then, we replaced the wildcard-based method autowiring by @required annotation and deprecated X-Status-Code for a better alternative. Finally, we added support for making form types private services and optimized the Symfony router matcher.
Symfony development highlights
- 70be4ba: [Intl] updated ICU data to 58.2
- 0f353ad: [Serializer] reduced nesting in YamlFileLoader
- ffc1cd5: [Config] fixed emacs link in DirectoryResource
- 8175248: [Form] fixed ChoiceType to ensure submitted data is not nested unnecessarily
- 0581218: [Form] improved rounding precision
- c579b96: [Routing] ignored hidden directories when loading routes from annotations
- d45008d: [HttpFoundation] provided less state in getRequestFormat
- d5d68c0: [PhpUnitBridge] prevented registering the test listener twice
- 6d39fd4: [Process] fixed ignoring of bad env var names
- 891f4e7: [FrameworkBundle] updated PHPStorm helper to the official format
- cadc313: [PhpUnitBridge] disabled global test listener when not registered
- 43bff22: [PhpUnit Bridge] introduced weak vendors mode
- 77f7a47: removed some container injections in favor of service locators
- 924c1f0: [Security] deprecated multiple providers in context listener
- 7f012b6: [DependencyInjection] fixed ServiceLocatorArgument::setValues() for non-reference values
- b69ca56: [DependencyInjection] added missing dumped private services list in a container frozen constructor
- adc6ba5: [DependencyInjection] simplified AutowirePass
- 9e1b567: [Routing] optimized dumped router matcher, prevent unneeded function calls
- 59a3b51: [Config, FrameworkBundle] lazy loaded resource checkers
- d1da474: [Form] allowed form types + form type extensions + form type guessers to be private services
- 2353a34: [HttpKernel] added a ContainerControllerResolver
- 4a70919: [Routing] added full route definition for invokable controller/class
- 526d396: [DependencyInjection] made the service container builder register its own self referencing definition
- 4aa9508: [Console] explicitly passed options without value (or empty) should remain empty
- 28a00da: [HttpKernel] deprecated X-Status-Code for better alternative
- 576ae1c: [HttpFoundation, Session] added a convenient method to get AttributeBagInterface
- 085ba9e: [Yaml] parse omitted inlined mapping values as null
- 69374da: [DependencyInjection] used a service locator in AddConstraintValidatorsPass
- c10f89f: [Validator] refactored file constraint logic
- 3fa8a05: [DependencyInjection] replaced wildcard-based methods autowiring by @required annotation
- e2e9c94: [Config] sort "globbed" paths to make them predictable
- 3b4a8f3: [Doctrine Bridge] added support for classes with __toString in DoctrineDataCollector
- 50b9126: [FrameworkBundle] introduced autowirable ControllerTrait
- f9d0d3d: [Router] followed symlinks and skip dots in the annotation directory loader
Newest issues and pull requests
- [Config] Transform a value into an array
- Console issue with Doctrine and custom PDO session handler to store sessions
- [Console] Ambiguous keys get wrongly autocompleted
- [DI] Unexpected behavior when resolving arguments
- [Console] --help, -h, --version, -V arguments blacklisted from command processing
They talked about us
- Battle Log: Symfony Routing performance considerations
- Symfony CMF 2.0.0 First Release Candidate
- Finding Entities in Symfony 3 Using Doctrine
- The State of PHP MVC Frameworks in 2017
- Symfony 3.2 request class mini-cheatsheet
- Angular2 & Symfony3 : Comment créer rapidement un système d’authentification ?
- Routing en Symfony3
Typo: should be wildcard-based, not woldcard-based
The new autowirable ControllerTrait has also been merged in master: https://github.com/symfony/symfony/pull/18193 It uses @required annotations introduced this week.
@Sidora well spotted! It's fixed now. Thanks!