I've been keeping a wishlist of ideas that might appear in the following version:
- Extract
Respect\Parameter\Reflector from ContainerResolver - a leftover from the interface migration that puts reflectCallable and acceptsType into a final abstract utils-like class called Reflector.
- Fail on unresolved parameters (by throwing an
CannotResolveParameterException). That would unlock stackable resolvers (try one, then try the next, and so on).
StackedResolver - meta-class for stacking Resolver.php implementations (assuming they throw).
- Split behaviors of the current resolver into stackable components the users can choose from (position, pull from container, infer by type, variadic fill, etc). Instead of a long procedure, the mechanism would be OOP-stack based.
These changes would promote a clearer API, be very small, and enable foreign implementors to add their own layering (which is impractical today, like caching and exotic specific resolvers).
I've been keeping a wishlist of ideas that might appear in the following version:
Respect\Parameter\ReflectorfromContainerResolver- a leftover from the interface migration that putsreflectCallableandacceptsTypeinto a final abstract utils-like class calledReflector.CannotResolveParameterException). That would unlock stackable resolvers (try one, then try the next, and so on).StackedResolver- meta-class for stacking Resolver.php implementations (assuming they throw).These changes would promote a clearer API, be very small, and enable foreign implementors to add their own layering (which is impractical today, like caching and exotic specific resolvers).