Отслеживание неверного вызова функции в CakePHP - PullRequest
2 голосов
/ 28 июля 2011

Я смотрю на error.log для моего приложения CakePHP и вижу, что периодически получаю такие вещи:

2011-07-28 14:49:39 Warning: Warning (2): Missing argument 2 for NewsController::item()
in [/app/controllers/news_controller.php, line 771]

Кажется довольно простым, что здесь происходит: действие элементаРаньше просто принимал параметр id, а теперь он хочет день, год, месяц, идентификатор.Где-то должен быть устаревший вызов элемента, передающего только идентификатор.

К сожалению, я не знаю, где это где-то, в моем растущем приложении.И приложение, кажется, не ломается, не находя новостей ни в одной точке.Таким образом, кажется, что это может быть где-то действительно хорошо спрятано.

Какова была бы лучшая стратегия для эффективного обнаружения источника этих сообщений об ошибках?

Ответы [ 2 ]

3 голосов
/ 28 июля 2011

Обычно это вызвано неправильной ссылкой где-то в вашем приложении, которая не учитывает дополнительные параметры и ваши пользователи нажимают на них.Для начала вы можете начать поиск таких вещей, как /news/item/ во всей папке представлений приложения.

РЕДАКТИРОВАТЬ: Или в вашем методе item () выполните ведение журнала, например if(empty($thirdParam) || empty($fourthParam)) $this->log($this->referer);, таким образом вы можете посмотреть воткуда доступ к методуЭто может быть не всегда надежно, но да стоит попробовать

0 голосов
/ 28 июля 2011

Если вы еще этого не сделали, познакомьтесь с инструментом текстового поиска, поддерживающим регулярные выражения:

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