警告/通知/严格遵守Phalcon


Warning/Notice/Strict with 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使用缓冲区输出的事实有关(有可能在变量中获得Phalcon''Mvc''View渲染输出?)

但这并不是我真正的问题,我的问题是,如果我有关于缺少变量、未声明常量或使用不推荐使用的方法的警告/通知,我就无法在呈现的页面上看到这些。我可以在日志中看到它们,但不能在页面本身看到,这在开发时有点烦人。在生产中,这显然不是问题。

PS:我将"display_errors"answers"display_startup_errors"设置为1,如果我在呈现页面之前放置exist,我会看到所有警告

我用它来返回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;