我正在使用Slim框架创建API.目前我使用单个文件来创建路由并向其传递闭包:
$app->get('/', function($req, $resp){
//Code...
})
但我意识到我的文件发展迅速.我想要做的是使用控制器,所以我将有一个控制器类,只需将实例/静态方法传递给路由,如下所示
class HomeController
{
public static function index($req, $resp){}
}
然后将函数传递给路由
$app->get('/', HomeController::index);
我尝试了这个,但它不起作用,我想知道是否有一种方法可以用它来管理我的文件.
解决方法:
将控制器变成仿函数:
class HomeController
{
public function __invoke($req, $resp) {}
}
然后像这样路线:
$app->get('/', HomeController::class);
供参考,请参阅
> http://www.slimframework.com/docs/objects/router.html#how-to-create-routes
> http://www.slimframework.com/docs/objects/router.html#route-callbacks.