1 | <?php |
||
21 | final class FileMaterializer implements MaterializerInterface, SingletonInterface |
||
22 | { |
||
23 | /** @var ModificationInspector */ |
||
24 | private $inspector; |
||
25 | |||
26 | /** @var string */ |
||
27 | private $directory; |
||
28 | |||
29 | /** @var array */ |
||
30 | private $materialized = []; |
||
31 | |||
32 | /** |
||
33 | * @param ModificationInspector $inspector |
||
34 | * @param string $directory |
||
35 | */ |
||
36 | public function __construct(ModificationInspector $inspector, string $directory) |
||
41 | |||
42 | /** |
||
43 | * {@inheritdoc} |
||
44 | * @throws Exception |
||
45 | */ |
||
46 | public function materialize(string $code, string $shortClassName, ReflectionClass $reflection): void |
||
58 | |||
59 | /** |
||
60 | * @param string $className |
||
61 | * @return string |
||
62 | */ |
||
63 | private function makeFilename(string $className): string |
||
67 | |||
68 | /** |
||
69 | * @param string $code |
||
70 | * @return string |
||
71 | */ |
||
72 | private function prepareCode(string $code): string |
||
76 | |||
77 | /** |
||
78 | * @param string $filename |
||
79 | * @param string $code |
||
80 | */ |
||
81 | private function create(string $filename, string $code): void |
||
85 | } |
||
86 |