Режим отладки cakephp3, кажется, включен, но не видит Хелпер php фатальные ошибки - PullRequest
0 голосов
/ 03 ноября 2018

Согласно документации CakePHP для CakePHP 3.X

По умолчанию ошибки PHP отображаются, когда отладка имеет значение true, и регистрируются когда отладка ложна. Будет вызван обработчик фатальных ошибок независимо от уровня отладки или конфигурации errorLevel, но результат будет отличаться в зависимости от уровня отладки. Поведение по умолчанию для фатального ошибки - показать страницу на внутреннюю ошибку сервера (отладка отключена) или страница с сообщением, файлом и строкой (отладка включена).

Я использую cakephp 3.6.12

My config/app.php содержит:

'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN),

Итак, насколько я вижу, режим отладки включен.

Кроме того, я вижу фатальные сообщения об ошибках, если я делаю php-ошибки в контроллере, но нет, если я делаю ошибки в помощнике

Так что, если я сделаю глупую ошибку кодирования php, такую ​​как

class HtmlTableHelper extends Helper
{
    myMethod();
    {
        $test="oops";
    }

На странице, которую я посещаю для отображения этой ошибки, отображается

Произошла внутренняя ошибка сервера

Вспомогательный файл вызывается из vie-файла, например index.ctp

Я знаю, что сообщение об ошибке находится в журналах, но для dev, я хотел бы видеть его на странице.

Если я сделаю ту же ошибку в контроллере:

class StepsController extends AppController
{
    public function initialize(){
        $this->loadComponent('HtmlTable');
    }

    public function index($test_id = null); // same mistake
    {   
        $this->HtmlTable->test();  

На странице появляется хорошее сообщение об ошибке с номером файла и номером строки

Как включить отладку, чтобы она также сообщала мне об ошибках в вспомогательных файлах, которые вызываются из представления? Это вообще возможно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...