Я пытаюсь найти наилучший подход при ссылках на статические страницы, используя свободно следуемый шаблон проектирования MVC.
Я начинаю с того, что переписываю все запросы в index.php, который обрабатывает все запросы, и разбиваю их URL на контроллер, действие и параметры. Однако, если я не хочу следовать этой структуре URL-адресов и просто хочу посетить статическую страницу, такую как 'http://example.com/home/', без необходимости вызывать какие-либо действия, как бы я достиг этого без получения ошибки php, вызванной моим маршрутизатором / Диспетчер пытается запросить файл, который не существует?
Я думал о настройке некоторого оператора switch или оператора if, как показано ниже, который проверяет, установлен ли URL-адрес для чего-то, затем использует пользовательский контроллер и действие, или я не был уверен, следует ли извлекать статические ресурсы из каталог MVC, и он должен быть отдельно и ссылаться на него таким образом?
<?php
class Router
{
static public function parse($url, $request)
{
$url = trim($url);
if ($url == "/")
{
$request->controller = "tasks";
$request->action = "index";
$request->params = [];
}
else
{
$explode_url = explode('/', $url);
$explode_url = array_slice($explode_url, 2);
$request->controller = $explode_url[0];
$request->action = $explode_url[1];
$request->params = array_slice($explode_url, 2);
}
}
}
?>
Это работает, но я бы предпочел не иметь огромной настройки маршрутизатора для множества различных статических ресурсов, так как он кажется липким и я просто исправляю код. Будет ли допустимым размещение статических страниц в своем собственном каталоге за пределами MVC и ссылки на них в представлениях? Я относительно новичок в MVC, поэтому любые рекомендации будут великолепны.