我是Slim和PHP的新手,但我正在尝试使用Slim做一个简单的rest API。它正在工作,但是我不知道我是否以正确的方式进行操作,因此找不到其他方法来执行此操作。
例如,我有一条这样的路线:
$app->get('/contacts', '\Namespace\Class:method');
方法:
public function searchContacts($request, $response) {
return Contact::searchContacts($resquest, $response);
}
因此,我发现访问其他类的请求和响应的独特方法是将对象作为参数传递。是正确的还是有更好(正确)的方法呢?
我认为您的方式不好。
控制器应处理请求并返回响应。您的模型(Contact
)无法处理请求。它应该采用所需的参数并返回数据。
简单的例子:
public function searchContacts($request, $response)
{
// to example, you pass only name of contact
$results = Contact::searchContacts($request->get('contactName'));
$response->getBody()->write(json_encode($results));
return $response;
}
你并不需要访问Request
并Response
从另一个类的对象。如果需要,可能是您的体系结构错误。
来自官方网站的好例子:http : //www.slimframework.com/docs/tutorial/first-app.html#create-routes
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句