1: | <?php declare(strict_types = 1); |
2: | |
3: | namespace PHPStan\Analyser\ResultCache; |
4: | |
5: | /** |
6: | * ResultCacheMetaExtension can be used for extending PHPStan's built-in mechanism that is used for |
7: | * calculating metadata for result cache. Using this extension you may add additional metadata that will |
8: | * be used for determining if analysis must be run again, or can be re-used from result cache. |
9: | * |
10: | * @see https://github.com/phpstan/phpstan-symfony/issues/255 for the context. |
11: | * |
12: | * To register it in the configuration file use the `phpstan.resultCacheMetaExtension` service tag: |
13: | * |
14: | * ``` |
15: | * services: |
16: | * - |
17: | * class: App\PHPStan\MyExtension |
18: | * tags: |
19: | * - phpstan.resultCacheMetaExtension |
20: | * ``` |
21: | * |
22: | * @api |
23: | */ |
24: | interface ResultCacheMetaExtension |
25: | { |
26: | |
27: | public const EXTENSION_TAG = 'phpstan.resultCacheMetaExtension'; |
28: | |
29: | /** |
30: | * Returns unique key for this result cache meta entry. This describes the source of the metadata. |
31: | */ |
32: | public function getKey(): string; |
33: | |
34: | /** |
35: | * Returns hash of the result cache meta entry. This represents the current state of the additional meta source. |
36: | */ |
37: | public function getHash(): string; |
38: | |
39: | } |
40: |