Files
michaelschiemer/src/Framework/View/Loading/Resolvers/DefaultPathResolver.php
2025-11-24 21:28:25 +01:00

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;
}
}