1: | <?php declare(strict_types=1); |
2: | |
3: | namespace Salient\Contract\Core\Provider; |
4: | |
5: | /** |
6: | * Receives the provider servicing the object |
7: | * |
8: | * @template TProvider of ProviderInterface |
9: | * |
10: | * @extends HasProvider<TProvider> |
11: | */ |
12: | interface ProviderAwareInterface extends HasProvider |
13: | { |
14: | /** |
15: | * Set the object's provider |
16: | * |
17: | * Throws an exception if the object already has a provider. |
18: | * |
19: | * @param TProvider $provider |
20: | * @return $this |
21: | */ |
22: | public function setProvider(ProviderInterface $provider); |
23: | } |
24: |