Я пытался создать базовую маршрутизацию с MVC, но при просмотре любой страницы отображается правильное содержимое, что означает, что он тянет в представлении. Но 404 всегда отображает. правильный контент будет отображаться на основе URL-адреса, такого как домашняя страница, но также 404 и что-то пошло не так в дополнение. Даже через рут это правильно. Я не включил представления и контроллеры, так как в данный момент контроллеры просто объединяют представление (голову, тело и содержимое). Похоже, это Models / Route.php, это проблема. Любая идея, что я делаю здесь не так?
-index.php
<?php
require_once('Routes.php');
function __autoload($class_name) {
if (file_exists('Controllers/'.$class_name.'.php'))
{
require_once ('Controllers/'.$class_name.'.php');
}
else if (file_exists('Models/'.$class_name.'.php'))
{
require_once ('Models/'.$class_name.'.php');
}
}?>
Routes.php
<?php
Route::set('index.php', function()
{
Index::CreateView('Index');
});
Route::set('home', function()
{
Index::CreateView('Index');
});
?>
Models / Route.php
<?php
class Route
{
public static $validRoutes = array();
public static function set($route, $function)
{
self::$validRoutes[] = $route;
if ($_GET['url'] == $route)
{
$function->__invoke();
}elseif(!in_array($_GET['url'], Route::$validRoutes)){
echo "404";
}else{
echo "something went wrong";
}
}
}
?>