我正在使用 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');
然后我有两个文件:Test1Controller
和Test2Controller
,都与我的文件在同一个应用程序文件夹中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