警告/通知/严格使用Phalcon

时间:2014-09-30 23:12:00

标签: php phalcon

我正在使用Phalcon 1.3.3和PHP 5.4。 在我的控制器中我有类似的东西:

public function indexAction() {
    $this->response->setContentType('application/json');
    $data = json_encode(['some data']);

    $this->response->setContent($data);
    return $this->response->send();
}

如果我放了一个" echo"在这个动作中,我无法在任何地方看到它,我认为这是因为Phalcon使用缓冲输出(It is possible to get Phalcon\Mvc\View rendered output in variable?

但那不是我的问题,我的问题是,如果我有关于缺失变量的警告/通知,或未声明的常量或使用弃用的方法,我无法在渲染页面上看到这些。 我可以在日志中看到它们而不是页面本身,这在开发时有点烦人。在生产中显然不是问题。

PS:我有" display_errors"和" display_startup_errors"设置为1,如果我在渲染页面之前放置了存在,我会看到所有警告

1 个答案:

答案 0 :(得分:1)

我用它来返回json:

    $expireDate = new \DateTime();

    $this->response->setHeader('Access-Control-Allow-Origin', '*');
    $this->response->setContentType('application/json', 'UTF-8');
    $this->response->setExpires($expireDate);
    $this->response->setHeader('Cache-Control', 'private, max-age=0, must-revalidate');
    $this->response->sendHeaders();
    echo json_encode(array('response' => $response, 'error' => $this->api_error));

并在index.php中

/**
 * Handle the request
 */
$application = new \Phalcon\Mvc\Application($di);
//disable view service in general
$application->useImplicitView(false);

如果要仅为某些地方禁用视图渲染,可以在控制器中使用:

$this->view->disable(); 
echo $data;