(Phalcon)如何从模型中的静态方法重定向(Phalcon \ Http \ Response)

时间:2018-08-08 20:23:35

标签: php redirect static phalcon

我正在尝试创建一个可重用的静态函数,如果该函数为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;

    }
}

我尝试了几种重定向方法,但无法从模型中重定向。

要使它正常工作,我需要做些什么改变?

1 个答案:

答案 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(...);
    }
}