dongzha0813 2019-07-03 01:41 采纳率: 0%
浏览 1914

使用PHP中的命名空间找不到的类

我在我的php应用程序中使用名称空间,但当我加载页面时,它显示错误

Fatal error: Uncaught Error: Class 'Route\Router' not found in >C:\xampp\htdocs\app\index.php:10 Stack trace: #0 {main} thrown in >C:\xampp\htdocs\app\index.php on line 10

        <?php

        require_once 'routes/Router.php';

        use Route\Router;

        $request = $_SERVER['REQUEST_URI'];
        $router = new Router($request);
        $router->get('/', 'view/index');
        $router->get('post', 'view/auth/login');

...

        <?php

        namespace Route;

        class Router
        {
            private $request;

            function __construct($request)
            {
                $this->request = $request;
            }

            public function get($route, $file)
            {
                $uri = trim($this->request, "/");
                $uri = explode("/", $uri);
                if ($uri[0] == trim($route, "/")) {
                    array_shift($uri);
                    $args = $uri;
                    require $file . '.php';
                }
            }
        }
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-10 17:40
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在你的PHP程序中,你可能没有正确地定义和导入你的Route命名空间。要解决这个问题,请确保你在脚本开始处正确地导入了这个命名空间。

    以下是一个完整的示例:

    namespace Route;
    
    class Router
    {
        // Your router implementation here
    }
    
    // 导入命名空间
    use Route\Router;
    
    $router = new Router($_SERVER['REQUEST_URI']);
    $router->get('/', 'view/index');
    $router->get('post', 'view/auth/login');
    
    // 在这里执行任何其他操作,例如访问数据库或调用API等
    

    请注意,上面的代码仅用于演示目的,并未包含具体的路由实现。你需要根据你的项目需求来修改这个例子。此外,你也需要确保你的服务器环境已正确配置以支持命名空间的概念。

    如果你仍然遇到问题,可以尝试检查你的PHP版本是否足够高,或者查看是否有任何与命名空间相关的兼容性问题。

    评论

报告相同问题?