Php 警告/通知/严格遵守Phalcon

Php 警告/通知/严格遵守Phalcon,php,phalcon,Php,Phalcon,我正在使用Phalcon 1.3.3和PHP5.4。 在我的控制器中,我有如下内容: public function indexAction() { $this->response->setContentType('application/json'); $data = json_encode(['some data']); $this->response->setContent($data); return $this->resp

我正在使用Phalcon 1.3.3和PHP5.4。 在我的控制器中,我有如下内容:

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

    $this->response->setContent($data);
    return $this->response->send();
}
如果我在这个动作中加入一个“echo”,我在任何地方都看不到它,我认为这与Phalcon使用缓冲区输出()的事实有关

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


PS:我将“display\u errors”和“display\u startup\u 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;

我猜,你在回显后设置了响应的内容?我想phalcon会检查是否设置了
$response->content
,并且只有当它没有放入
ob\u get\u clean()
时才会检查,但有没有办法避免这种情况?是的,假设您仅将echo用于调试目的:使用
die()
。我不想使用echo进行调试,我希望能够看到正常的PHP警告。查看错误日志的速度“较慢”。在这种情况下,您查看的位置错误。看一看。根据您的操作系统,您可以使用apt get install php5 xdebug安装它。还可以阅读phalcons自己关于这类工作的指南,因为我正在构建一个API,不需要视图。然而,我认为这对于使用视图的人来说是一个问题……这段代码来自我的API,我没有使用视图服务,因此在index.php中,它被禁用,并带有以下行:$application->useImplicitView(false);如果有些操作必须使用视图,有些则不能,所以$this->view->disable();(从任何控制器调用)非常方便:)