1: <?php
2:
3: declare(strict_types=1);
4:
5: namespace LaravelUi5\OData\Service\Contracts;
6:
7: /**
8: * A serializable binding that knows how to create a resolver at runtime.
9: *
10: * ResolverBindings are collected during schema configuration and persisted
11: * in the ResolverMap. On warm boot, the cached map calls createResolver()
12: * to instantiate resolvers without re-running configure() or discovery.
13: *
14: * Implementations must be serializable as plain PHP (only scalar properties
15: * and class-string references — no closures, no object graphs).
16: */
17: interface ResolverBindingInterface
18: {
19: /**
20: * Create the entity set resolver for this binding.
21: */
22: public function createResolver(): EntitySetResolverInterface;
23: }
24: