Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Доска объявлений / Работаем над ошибками - YII2 в помощь

  • На этом уроке мы разберемся, как работать над ошибками и читать сигналы дебаггера YII2
  • Дата отправки отчёта: 7 января 2020 г.
  • Задание выполнено: за 36 мин.
  • Чему научился: отладчик ошибок включается здесь D:\OSPanel\domains\bulletin\web\index.php
    А)
    syntax error, unexpected '->' (T_OBJECT_OPERATOR) такое сообщение с указанием на имя файла возвращается когда перед this забудешь поставить знак $
    Перед переменной $this не пропустишь знак начала имени переменной, в РНР это знак доллара и ошибка устранена (нулевая иллюстрация - эта ошибка и возврат фреймворка о ней
    Б)
    В следующей иллюстрации мы видим ошибку закравшегося пробела в строке 13
    <? php - если между знаком вопроса и тремя литерами php окажется пробел - код не парсится и возвращается ошибка
    Решение - не допускать пробел при открытии блока РНР, вот так правильно - <?php


    скриншот одной из ошибок и ее анализ (что за ошибка, в какой строке видна, из-за чего она, как исправили)
  • Оценка видео-уроку:
Отчёт от 17947 за Доска объявлений / Работаем над ошибками - YII2 в помощь


Отчёт от 17947 за Доска объявлений / Работаем над ошибками - YII2 в помощь




Оцени работу

 
Сохранить страницу:

791. --
Валерий Жданов
Валерий Жданов
ответить

17947. --
Dmitry Sinitsin
Dmitry Sinitsin
ответить
→  Валерий Жданов  # Доска объявлений / Работаем над ошибками - YII2 в помощь / 2020-01-07 16:52

Стараюсь, как могу )) Даже внизу себе напоминалку скопировал, видя, что отчет впередиидущего Николая был завёрнут на доработку.
Напоминалку эту и забыл удалить из отчета...


791. --
Валерий Жданов
Валерий Жданов
ответить

9014. --
Николай Денисов
Николай Денисов
ответить
→  Dmitry Sinitsin  # Доска объявлений / Работаем над ошибками - YII2 в помощь / 2020-01-08 09:47

Блок кода php в html пишется
<? foreach($mas as $res): ?>

<?endforeach?>


9014. --
Николай Денисов
Николай Денисов
ответить
→  Dmitry Sinitsin  # Доска объявлений / Работаем над ошибками - YII2 в помощь / 2020-01-08 09:53

Не понимаю как эта скобка - <? } ?> может работать. Но у автора работает, для меня это прям открытие.


  • Отчёт оценивали:
    791Валерий Жданов+1   1710Степан+1   23855Андрей Межлумов0   9014Николай Денисов+1   13417Chip+1   9980Timoha+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Научился ловить некоторые ошибки с помощью встроенного дебагера. Отличный урок. Его бы в начало курса!
Трудности: Повторить ошибки, приведенные в уроке - большого ума не надо. Я попробовал сделать ошибку другого типа: в файле ...\views\user\adduser.php строке 'adduser-Form']); ?> заменил 'adduser-Form' на 'addser-Form' При этом система не обнаружила ошибки и приняла нового пользователя. Как это можно объяснить?



Научился: Внес ошибку в метод getBulletins в контроллере BulletinsController. Вместо поиска по user_id указал userid. В результате на первом скриншоте yii сообщает о неизвестном столбце userid в блоке where. Yii сообщает запрос, который вывел ошибку SELECT * FROM `bulletins` WHERE (`userid`=1) AND (`status`='wait'). Если знать структуру таблицы bulletins, то можно понять, что ошибка в опечатке userid и надо заменить на правильное user_id. Теперь надо найти место в коде, которое вызвало эту ошибку. Далее ниже в пункте 1 показано место генерации исключения это файл Schema.php. Это внутренний файл Yii, который я не редактировал, значит ошибка возникла где-то ранее в цепочке вызовов функций. Далее ниже идет цепочка из 6 вызовов функций, которые так же как и 1 являются системными. Пролистав ниже можно найти пункт 7 (на втором скриншоте), в котором показан файл BulletinsController. Этот файл в отличие от первых 6 был создан мной, поэтому ошибка вполне может быть здесь. В 7 пункте Yii указывает на sql-запрос, в котором в блоке where идет обращение к userid. Ранее yii сообщал, что не может найти поле userid. Исправив userid на user_id ошибка исчезла.