- Issue created by @longwave
- Status changed to Needs review
11 months ago 9:34pm 14 January 2024 - Status changed to RTBC
11 months ago 11:49pm 14 January 2024 - 🇦🇺Australia dpi Perth, Australia
Put together a similar locator in ✨ Use a service locator to group hooks services together to ease future privatization and lazy loading Fixed recently so can say LGTM.
Only one optional hyper- nit. Leaving as RTBC.
- 🇬🇧United Kingdom longwave UK
Fixed the nit, added a CR: https://www.drupal.org/node/3414687 →
- Status changed to Fixed
11 months ago 2:31pm 15 January 2024 - 🇬🇧United Kingdom catch
Nifty, didn't realise this had been possible since Symfony 3.3.
Committed/pushed to 11.x, thanks!
Automatically closed - issue fixed for 2 weeks with no activity.
- 🇺🇸United States cmlara
Note for those who come across this issue in the future:
This did cause a break in D10.3 when streamWrappers were registered as part of a second compiler pass
Service "stream_wrapper.myscheme" not found: the container inside "Drupal\Core\StreamWrapper\StreamWrapperManager" is a smaller service locator that only knows about the "stream_wrapper.assets", "stream_wrapper.private", "stream_wrapper.public" and "stream_wrapper.temporary" services.
In my case (s3fs) it appears it may be easy enough to fix by moving to ServiceProviderInterface::register() however it is a refactoring on minor upgrade.
- 🇺🇸United States cmlara
🐛 D10.3 StreamWrapperManager change to Service Locators breaks with second compiler pass Fixed was where s3fs fixed this, basically you have to make sure you register your services before the first compiler pass completes and the closures are generated hence the move into register().