PHP Slim框架创建控制器

Jam*_*rge 3 php controller slim slim-3

我正在使用Slim框架创建API.目前我使用单个文件来创建路由并向其传递闭包:

$app->get('/', function($req, $resp){
//Code...
})
Run Code Online (Sandbox Code Playgroud)

但我意识到我的文件发展迅速.我想要做的是使用控制器,所以我将有一个控制器类,只需将实例/静态方法传递给路由,如下所示

class HomeController
{
   public static function index($req, $resp){}
}
Run Code Online (Sandbox Code Playgroud)

然后将函数传递给路由

$app->get('/', HomeController::index);
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,但它不起作用,我想知道是否有一种方法可以用它来管理我的文件.

loc*_*inz 9

将控制器变成仿函数:

class HomeController
{
    public function __invoke($req, $resp) {}
}
Run Code Online (Sandbox Code Playgroud)

然后像这样路线:

$app->get('/', HomeController::class);
Run Code Online (Sandbox Code Playgroud)

供参考,请参阅