/** * @param int $source * @param string $targetModelClassname * @return AbstractModel * @throws PropertyMappingException */ protected function mapToModel($source, $targetModelClassname) { $repositoryClassname = Nomenclature::modelClassnameToRepositoryClassname($targetModelClassname); if (!class_exists($repositoryClassname)) { throw new PropertyMappingException('Repository class ' . $repositoryClassname . ' for model ' . $targetModelClassname . ' does not exist.', 1409745296); } /** @var \AppZap\PHPFramework\Domain\Repository\AbstractDomainRepository $repository */ $repository = $repositoryClassname::getInstance(); return $repository->findById((int) $source); }
/** * @test */ public function modelClassnameToRepositoryClassname() { $this->assertSame($this->names['repository'], Nomenclature::modelClassnameToRepositoryClassname($this->names['model'])); }