mirror of
https://github.com/kevinveenbirkenbach/infinito.git
synced 2025-04-16 10:16:22 +02:00
98 lines
1.8 KiB
PHP
98 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Domain\TemplateManagement;
|
|
|
|
use App\DBAL\Types\TemplateType;
|
|
|
|
/**
|
|
* @author kevinfrantz
|
|
*/
|
|
class TemplateMeta implements TemplateMetaInterface
|
|
{
|
|
/**
|
|
* @var array
|
|
*/
|
|
private $basicPathArray;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
private $basicName;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
private $type = TemplateType::HTML;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
private $pathSuffix;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
private $frameTemplatePath;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
private $contentTemplatePath;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
private $folder;
|
|
|
|
public function __construct(array $basicPathArray, string $basicName, string $folder)
|
|
{
|
|
$this->basicPathArray = $basicPathArray;
|
|
$this->basicName = $basicName;
|
|
$this->folder = $folder;
|
|
$this->init();
|
|
}
|
|
|
|
private function init()
|
|
{
|
|
$this->setPathSuffix();
|
|
$this->setFrameTemplatePath();
|
|
$this->setContentTemplatePath();
|
|
}
|
|
|
|
private function setPathSuffix(): void
|
|
{
|
|
$this->pathSuffix = $this->folder.'/'.implode('/', $this->basicPathArray).'/'.$this->basicName.'.'.$this->type.'.twig';
|
|
}
|
|
|
|
private function setFrameTemplatePath(): void
|
|
{
|
|
$this->frameTemplatePath = 'frame/'.$this->pathSuffix;
|
|
}
|
|
|
|
private function setContentTemplatePath(): void
|
|
{
|
|
$this->contentTemplatePath = 'content/'.$this->pathSuffix;
|
|
}
|
|
|
|
public function getFrameTemplatePath(): string
|
|
{
|
|
return $this->frameTemplatePath;
|
|
}
|
|
|
|
public function getContentTemplatePath(): string
|
|
{
|
|
return $this->contentTemplatePath;
|
|
}
|
|
|
|
public function setTemplateType(string $type): void
|
|
{
|
|
$this->type = $type;
|
|
$this->init();
|
|
}
|
|
|
|
public function getTemplateType(): string
|
|
{
|
|
return $this->type;
|
|
}
|
|
}
|