Skip to content

Commit f82fb4c

Browse files
committed
ContainerLoader: generating code & meta moved to generate()
1 parent 06af088 commit f82fb4c

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

src/DI/ContainerLoader.php

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,7 @@ private function loadFile($class, $generator)
7575
}
7676

7777
if (!is_file($file) || $this->isExpired($file)) {
78-
list($code, $files) = call_user_func($generator, $class);
79-
80-
$files = $files ? array_combine($files, $files) : array();
81-
$toWrite["$file.meta"] = serialize(@array_map('filemtime', $files)); // @ - file may not exist
82-
$toWrite[$file] = "<?php\n$code";
78+
list($toWrite[$file], $toWrite["$file.meta"]) = $this->generate($class, $generator);
8379

8480
foreach ($toWrite as $name => $content) {
8581
if (file_put_contents("$name.tmp", $content) !== strlen($content) || !rename("$name.tmp", $name)) {
@@ -106,4 +102,18 @@ private function isExpired($file)
106102
return FALSE;
107103
}
108104

105+
106+
/**
107+
* @return array of (code, file[])
108+
*/
109+
protected function generate($class, $generator)
110+
{
111+
list($code, $files) = call_user_func($generator, $class);
112+
$files = $files ? array_combine($files, $files) : array(); // workaround for PHP 5.3 array_combine
113+
return array(
114+
"<?php\n$code",
115+
serialize(@array_map('filemtime', $files)) // @ - file may not exist
116+
);
117+
}
118+
109119
}

0 commit comments

Comments
 (0)