我刚开始使用Slim Framework创建我的rest API。一切正常,直到我尝试将HTTP请求路由到静态类方法(我之前使用匿名函数)。下面是我的新航线代码上index.php
:Slim Framework:将HTTP请求路由到静态类方法
include "vendor/autoload.php";
$config = ['settings' => [
'addContentLengthHeader' => false,
'displayErrorDetails' => true,
'determineRouteBeforeAppMiddleware' => true
]
];
$app = new \Slim\App($config);
$app->get('/user/test', '\App\Controllers\UserController:test');
$app->run();
,下面将我的UserController
类上UserController.php
class UserController{
public function test($request, $response, $args){
$array = ['message'=>'your route works well'];
return $response->withStatus(STAT_SUCCESS)
->withJson($array);
}
}
错误的详细信息:
Type : RuntimeException
Message: Callable \Controllers\UserController does not exist
File : /var/www/html/project_api/vendor/slim/slim/Slim/CallableResolver.php
下面是我的项目文件夹树
project_api/
index.php
vendor/
slim/slim/Slim/CallableResolver.php
Controllers/
UserController.php
我composer.json
{
"require": {
"slim/slim": "^3.8",
"sergeytsalkov/meekrodb": "*",
"slim/http-cache": "^0.3.0"
}
},
"autoload": {
"psr-4": {
"Controllers\\": "Controllers/"
}
}
你调用的类'User'不'UserController' – jmattheis
喜@jmattheis,感谢您的纠正。更改了类名并仍然有相同的错误 – red
您是否已经定义了composer autoload? – jmattheis