/**
* This method checks the exising schema file and the generated class file mtime.
* If the schema file is newer or the forceUpdate flag is specified, then
* the generated class files should be updated.
*
* @param ClassTemplate\ClassFile $cTemplate
* @param DeclareSchema $schema
*/
protected function updateClassFile(ClassFile $cTemplate, DeclareSchema $schema, $canOverwrite = false)
{
// always update the proxy schema file
$classFilePath = $schema->getRelatedClassPath($cTemplate->getShortClassName());
// classes not Model/Collection class are overwriteable
if (file_exists($classFilePath)) {
if ($canOverwrite && ($schema->isNewerThanFile($classFilePath) || $this->forceUpdate)) {
$this->writeClassTemplateToPath($cTemplate, $classFilePath);
return [$cTemplate->getClassName(), $classFilePath];
}
} else {
if ($this->writeClassTemplateToPath($cTemplate, $classFilePath)) {
return [$cTemplate->getClassName(), $classFilePath];
}
}
}