mirror of
				https://github.com/kevinveenbirkenbach/infinito.git
				synced 2025-10-31 01:09:41 +00:00 
			
		
		
		
	Refactored functions
This commit is contained in:
		| @@ -0,0 +1,50 @@ | ||||
| <?php | ||||
|  | ||||
| namespace App\Creator\Factory\Template; | ||||
|  | ||||
| use App\Entity\SourceInterface; | ||||
| use Symfony\Component\HttpFoundation\Request; | ||||
|  | ||||
| /** | ||||
|  * Didn't know where to structure this file and how to name it. | ||||
|  * Feel free to move it to a better place. | ||||
|  * | ||||
|  * @author kevinfrantz | ||||
|  */ | ||||
| class SourceTemplateFactory | ||||
| { | ||||
|     const SOURCE_TEMPLATE_ROOT = 'source'; | ||||
|  | ||||
|     /** | ||||
|      * @var SourceInterface | ||||
|      */ | ||||
|     protected $source; | ||||
|  | ||||
|     /** | ||||
|      * @var Request | ||||
|      */ | ||||
|     protected $request; | ||||
|  | ||||
|     /** | ||||
|      * @param SourceInterface $source | ||||
|      */ | ||||
|     public function __construct(SourceInterface $source, Request $request) | ||||
|     { | ||||
|         $this->source = $source; | ||||
|         $this->request = $request; | ||||
|     } | ||||
|  | ||||
|     public function getTemplatePath(): string | ||||
|     { | ||||
|         return self::SOURCE_TEMPLATE_ROOT.'/'.$this->generateName().'.'.$this->request->getRequestFormat().'.twig'; | ||||
|     } | ||||
|  | ||||
|     private function generateName(): string | ||||
|     { | ||||
|         $reflection = new \ReflectionClass($this->source); | ||||
|         $shortName = $reflection->getShortName(); | ||||
|         $lowerName = strtolower($shortName); | ||||
|  | ||||
|         return str_replace('source', '', $lowerName); | ||||
|     } | ||||
| } | ||||
| @@ -4,14 +4,13 @@ namespace App\Source\Generator; | ||||
|  | ||||
| use App\Entity\SourceInterface; | ||||
| use Symfony\Component\HttpFoundation\Request; | ||||
| use App\Creator\Factory\Template\SourceTemplateFactory; | ||||
|  | ||||
| /** | ||||
|  * @author kevinfrantz | ||||
|  */ | ||||
| final class TemplateGenerator extends AbstractGenerator | ||||
| { | ||||
|     const SOURCE_TEMPLATE_ROOT = 'source'; | ||||
|  | ||||
|     /** | ||||
|      * @var \Twig_Environment | ||||
|      */ | ||||
| @@ -25,20 +24,8 @@ final class TemplateGenerator extends AbstractGenerator | ||||
|  | ||||
|     public function render(): string | ||||
|     { | ||||
|         return $this->twig->render($this->getTemplatePath(), ['source' => $this->source]); | ||||
|     } | ||||
|         $templatePathFactory = new SourceTemplateFactory($this->source, $this->request); | ||||
|  | ||||
|     private function getTemplatePath(): string | ||||
|     { | ||||
|         return self::SOURCE_TEMPLATE_ROOT.'/'.$this->generateName().'.'.$this->request->getRequestFormat().'.twig'; | ||||
|     } | ||||
|  | ||||
|     private function generateName(): string | ||||
|     { | ||||
|         $reflection = new \ReflectionClass($this->source); | ||||
|         $shortName = $reflection->getShortName(); | ||||
|         $lowerName = strtolower($shortName); | ||||
|  | ||||
|         return str_replace('source', '', $lowerName); | ||||
|         return $this->twig->render($templatePathFactory->getTemplatePath(), ['source' => $this->source]); | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user