PHP Slim 框架创建控制器

PHP Slim Framework Create Controller(PHP Slim 框架创建控制器)
本文介绍了PHP Slim 框架创建控制器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am creating an API using the Slim framework. Currently I use a single file to create the route and pass a closure to it:

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

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

But I realise that my file has grown rapidly. What I want to do is use controllers instead, so I will have a controller class and just pass the instance/static methods to the route, like below

class HomeController
{
   public static function index($req, $resp){}
}

然后将函数传递给路由

$app->get('/', HomeController::index);

我试过这个,但它不起作用,我想知道是否有办法用它来管理我的文件.

I tried this, but it does not work, and I wonder if there is a way I can use it to manage my files.

推荐答案

将控制器变成函子:

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.

这篇关于PHP Slim 框架创建控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Convert JSON integers and floats to strings(将JSON整数和浮点数转换为字符串)
in php how do I use preg replace to turn a url into a tinyurl(在php中,如何使用preg替换将URL转换为TinyURL)
all day appointment for ics calendar file wont work(ICS日历文件的全天约会不起作用)
trim function is giving unexpected values php(Trim函数提供了意外的值php)
Basic PDO connection to MySQL(到MySQL的基本PDO连接)
PHP number_format returns 1.00(Php number_Format返回1.00)