Я иногда получаю PHP Неустранимая ошибка: вызов неопределенного метода stdClass :: transition() в agent.php в строке 25 (я выделил строку 25 в коде). Этот код часто называется, поэтому он пытается понять, почему это происходит.Звонок на неопределенный метод stdClass
Вот фрагмент agent.php, что вызывает переход к
function agent_exam_complete($exam){
$ce = $exam->educational();
$ce->exam_id = $exam->exam_id;
$ce->exam_grade = $exam->score;
$ce->exams_remaining -= 1;
$ce->exam_received_date = sql_now();
if($exam->status()=='passed'){
$ce->transition('passed');
}elseif($ce->exams_remaining <= 0){
$ce->transition('failed');
}
$ce->save();
if($ce->is_certification_completed($ce->certification_id, $ce->client_no)){
agent_certification_complete($ce->certification_id, $ce->client_no);
}
}
function agent_certification_complete($certification_id, $client_no){
$ce = ClientPurchase::find('first', array('conditions' => "certification_id = '$certification_id' and is_certification = 1 and client_no='$client_no'"));
$ce->certification_date = date('Y-m-d');
$ce->transition('passed'); **//Line 25**
$ce->save();
}
() определен в другом файле и называется часто. Я включил немного своего кода только для аромата.
function transition($event_tag){
$old_status = $this->status;
$next_status = $this->next_status_for_transition($event_tag);
if($next_status==''){
return; }
$this->status = $next_status;
Мой вопрос: почему я получаю эту ошибку периодически и не все время? Что я могу сделать для устранения ошибки и последующего пустого экрана для моих клиентов? Я только заметил, что это происходит с Firefox или Chrome.
Спасибо заранее, Джим
Странно. Поскольку PHP является серверной, он не должен влиять на конкретный браузер. –
Согласен. Не знал, были ли в браузере разные тайм-ауты, которые могут вызвать проблему. Схватывание на соломинках. – Jim
Любой тайм-аут для PHP также будет установлен на стороне сервера либо в конфигурации PHP, либо в Apache. Вы получаете ошибки в журналах? –