实现 Phalcon 控制器 return 数组自动输出 JSON
经过测试,如果控制器方法 return 字符串,控制器外的 response::getContent 能够获取到最终需要输出的内容,但是 return 数组再通过 afterExecuteRoute 进行转化,如果不使用 dispatcher::setReturnedValue 方法,会导致控制器外 response::getContent 获取不到任何内容。
public function afterExecuteRoute()
{
$return = $this->dispatcher->getReturnedValue();
if (!$return instanceof $this->response && is_array($return)) {
$this->view->disable();
$this->response->setJsonContent($return, JSON_UNESCAPED_UNICODE);
$this->dispatcher->setReturnedValue($this->response->getContent());
}
return $this->response;
}