Before I continue with another post I wanted to create this as a reference point for the future, mostly for team members and to keep track of things:
PSR-0 “Basic Coding Standard” (deprecated)
This autoloading standard was removed from PSR but still works with Flow. It was the original Flow autoloading standard even before PSR-0 existed AFAIK. We rely on a few parts of it still and should remove those (autoloading in tests eg.)
PSR-1 “Basic Coding Standard”
Coding standard, fully integrated into our CGL.
PSR-2 “Coding Style Guide”
Coding styles, fully integrated into our CGL.
`PSR-3 “Logger Interface”
Logging standards. Since Flow 5.0 the log package can be used as PSR-3 logger and Flow can be configured to use any PSR-3 logger.
PSR-4 “Autoloading Standard”
Todays autoloading standard. Fully supported by Flow.
PSR-6 “Caching Interface”
Caching interface. Our caching package offers implementations for the interfaces but there is not default way to use them in Flow applications and currently Flow/Neos do not use them at all.
Next steps:
- Add a cache manager for these caches and a way to configure them (PSR-16 as well)
- start using in Flow/Neos (packages)
PSR-7 “HTTP Message Interface”
HTTP interfaces, my personal biggest gripe right now. Our HTTP request/response implementations also implement the PSR-7 interfaces, BUT we still need to shift our paradigm to replacing objects, using only the PSR-7 interface methods in Flow and deprecating the old HTTP methods.
Next steps:
- Deprecate non interface methods and provide appropriate helpers where needed
- Replace request/response objects consequently
- adjust type hints to interfaces
- Remove deprecated methods in next major
PSR-11 “Container Interface”
Container interface, our ObjectManager fully implements the interface, but we could/should use that interface more throughout Flow and Neos.
- Start using as type hint
PSR-13 “Hypermedia Links”
Not implemented at all.
PSR-15 “HTTP Handlers”
Not implemented at all. Needs PSR-7 fully done before IMHO.
PSR-16 “Simple Cache”
Same as with PSR-6.
PSR-17 “HTTP Factories”
Not implemented at all. Needs PSR-7 fully done before IMHO.
Bonus:
Teams are definitely implementing HuggableInterface