Commit c02c83d4 authored by zYne's avatar zYne

--no commit message

--no commit message
parent 417b71f4
......@@ -108,10 +108,40 @@ class Doctrine_Relation_Parser
if (substr($name, -8) === 'Template') {
$name = substr($name, 0, -8);
}
$parent = new ReflectionClass($this->_table->getComponentName());
if ( ! class_exists($name)) {
$template = new $templateName();
print_r($template->getTable()->getColumns());
$conn = $this->_table->getConnection();
$refl = new ReflectionClass($templateName);
$file = file($refl->getFileName());
$parentMethods = $refl->getParentClass()->getMethods();
foreach ($parentMethods as $k => $method) {
$parentMethods[$k] = $method->getName();
}
$lines[] = 'class ' . $name . ' extends Doctrine_Record';
$lines[] = '{';
foreach ($refl->getMethods() as $method) {
if ($method->getDeclaringClass()->getName() === $refl->getName()) {
$start = $method->getStartLine() - 1;
$end = $method->getEndLine() - 1;
$lines = array_merge($lines, array_slice($file, $start, ($end - $start) + 1));
}
}
$lines[] = '}';
$fileName = dirname($parent->getFileName()) . DIRECTORY_SEPARATOR . $name . '.php';
if (file_exists($fileName)) {
throw new Doctrine_Template_Exception("Couldn't generate class for template.");
}
eval(implode("\n", $lines));
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment