0

我正在使用 Slim 4 框架并试图使路由正常工作,但是对于我的一生,我无法弄清楚为什么controller file找不到我的。我习惯于为laravel我处理所有这些事情,但我想尝试slim我的最新应用程序。

我一直使用http://www.slimframework.com/docs/v4/objects/routing.html作为我的指南,并希望我的路线被定义为ControllerHere:FunctionHere,但由于某种原因它不起作用。

从我的index.php我包含一个routes.php文件,其内容是

namespace App;

$app->get('/test1', Test1Controller::class.':home');

$app->get('/test2', '\Test2Controller:home');

然后我有两个文件:Test1ControllerTest2Controller,都与我的文件在同一个应用程序文件夹中routes.php

按照链接中的指南,我的/test1路线和 Test1Controller 完美加载,但我无法让 Test2Controller 工作,其代码是:

namespace App;

use Psr\Container\ContainerInterface;

class Test2Controller {

    protected $container;


    public function __construct(ContainerInterface $container) {
        $this->container = $container;
    }


    public function home($request, $response, $args) {
        $response->getBody()->write("Hello world test2!");
        return $response;
    }

}

有人可以看到我做错了什么吗?我得到的错误是:

PHP Fatal error:  Uncaught RuntimeException: Callable \\Test2Controller does not exist
4

0 回答 0