generators = $generators; $this->generatorIo = $generatorIo; } /** * Load class * * @param string $className * @return bool */ public function load($className) { $classSourceFile = $this->generatorIo->generateResultFileName($className); if ($this->generatorIo->fileExists($classSourceFile)) { include $classSourceFile; return true; } else { foreach ($this->generators as $generator) { $content = $generator->generate($className); if ($content) { $this->generatorIo->makeResultFileDirectory($className); $this->generatorIo->writeResultFile($classSourceFile, $content); include $classSourceFile; return true; } } } return false; } }