始终显示404 php基本路由

时间:2019-10-18 21:59:45

标签: php url-routing

我尝试使用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";
        }

    }
}

?>

0 个答案:

没有答案