CakePHP 2.1 сталкивается со странным поведением:
У меня есть метод $this->Time->getTime();
, который всегда регистрирует действие, а затем возвращает true.При вызове из браузера он работает как ожидалось: регистрирует действие, затем возвращает true.
Я создал оболочку TimeShell
, в которой я регистрирую другое действие только , если $this->Time->getTime();
возвращает истину.Теперь странная вещь заключается в том, что второе действие регистрируется, следовательно, метод возвратил значение true, но действие метода (которое, очевидно, должно было выполняться, поскольку оно прошло его и вернуло true) не регистрируется.
Почему не регистрируется первое действие, когда метод вызывается из оболочки?(если это помогает, оболочка запускается через задание cron на моем сервере)
РЕДАКТИРОВАТЬ
После дальнейшего тестирования я обнаружил, что если я не буду регистрироватьсявторое действие (в оболочке), затем первое действие (в $this->Time->getTime();
) записывается правильно.Но я не могу понять, почему Cake регистрирует только последнее действие из тех, которые должны быть зарегистрированы.
Более того, похоже, что только DatabaseLogger ведет себя таким образом, FileLog регистрирует оба действия.Очень странно.