我正在尝试创建一个可重用的静态函数,如果该函数为true,则会进行重定向。 该功能将在模型中。
public function checkEmtpy(ResultsetInterface $resultset)
{
$di = \Phalcon\DI::getDefault();
if (empty($resultset->toArray())) {
$di->get('flash')->error('Page not found.');
return $di->get('response')->redirect('content');
} else {
return false;
}
}
我尝试了几种重定向方法,但无法从模型中重定向。
要使它正常工作,我需要做些什么改变?
答案 0 :(得分:1)
在模型中进行重定向违反了MVC原则。重定向必须在Controller中完成。您应该做的只是仅返回模型的状态。像这样:
// Model
public function checkEmtpy(ResultsetInterface $resultset)
{
return empty($resultset->toArray());
}
// Controller
public action someAction()
{
$isEmpty = (new YourModelName)->checkEmtpy($someVariable);
if ($isEmpty === true) {
return $this->response->redirect(...);
}
}