/** * @param EntityCollection $collection * @param Configuration $configuration * @return string */ public function generate(EntityCollection $collection, Configuration $configuration) { $useStatements = $this->generateUseStatements($configuration->getNamespace(), $collection); $content = $this->generateFileHeader($configuration->getNamespace(), $useStatements); $content .= $this->generateClassHeader($configuration->getClassName(), $configuration->getExtends()); $content .= $this->generateGetConnectionMethod($configuration->getIndention()); foreach ($collection as $entity) { $content .= $this->generateEntityMethods($entity, $configuration->getIndention()); } $content .= '}'; return $content; }