/** * @param AbstractEntity $entity * @param string $indention * @return string */ private function generateEntityMethods(AbstractEntity $entity, $indention) { $methodName = lcfirst($entity->methodNamePrefix() . ucfirst($entity->className())); $content = PHP_EOL . $indention . '/**' . PHP_EOL . $indention . ' * @return ' . $entity->className() . PHP_EOL . $indention . ' */' . PHP_EOL . $indention . 'public function ' . $methodName . '()' . PHP_EOL . $indention . '{' . PHP_EOL; if ($entity instanceof ObjectEntity) { $content .= $indention . $indention . 'return new ' . $entity->className() . '();' . PHP_EOL; } else { if ($entity instanceof QueryEntity) { $content .= $indention . $indention . 'return ' . $entity->className() . '::create();' . PHP_EOL; } } $content .= $indention . '}' . PHP_EOL; return $content; }