Предупреждение / Уведомление / Строгий с 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();
}

Если я добавлю «эхо» в это действие, я нигде его не увижу, и я думаю, что это связано с тем фактом, что Phalcon использует вывод буфера (Можно получить Phalcon \ Mvc \ View отрендеренный вывод в переменную?)

Но это не совсем моя проблема, моя проблема в том, что если у меня есть предупреждения / уведомления о пропущенной переменной, или необъявленной константе, или использование устаревших методов, я не могу увидеть их на отображаемой странице.
Я вижу их в журналах, но не на самой странице, что немного раздражает при разработке. В производстве, очевидно, это не проблема.

PS: у меня «display_errors» и «display_startup_errors» установлены в 1, и если я ставлю существовать перед рендерингом страницы, я вижу все предупреждения

0

Решение

Я использую это, чтобы вернуть 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;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]