Some checks failed
Deploy Application / deploy (push) Has been cancelled
28 lines
736 B
PHP
28 lines
736 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Framework\View\Loading\Resolvers;
|
|
|
|
use App\Framework\Core\PathProvider;
|
|
|
|
final readonly class DefaultPathResolver implements TemplateResolverStrategy
|
|
{
|
|
public const string TEMPLATE_EXTENSION = '.view.php';
|
|
|
|
public function __construct(
|
|
private PathProvider $pathProvider,
|
|
private string $templatePath = '/src/Framework/View/templates'
|
|
) {
|
|
}
|
|
|
|
public function resolve(string $template, ?string $controllerClass = null): ?string
|
|
{
|
|
$path = $this->pathProvider->resolvePath(
|
|
$this->templatePath . '/' . $template . self::TEMPLATE_EXTENSION
|
|
);
|
|
|
|
return file_exists($path->toString()) ? $path->toString() : null;
|
|
}
|
|
}
|