2015-05-22 4 views
0

В localhost, используя последнюю версию xampp (PHP 5.5.4), я получаю фатальную ошибку в классе. Ошибка не возникает ни на одном из нескольких производственных серверов, которые используют этот класс.xampp - Неустранимая ошибка: вызов неопределенного метода

class MyClass { 
    private $ids = array(); 

    public function __construct() { 
     $this->ids = $this->get_ids(); 
    } 

    private function get_ids() { 
     return array(0,1,2); 
    } 

} 

$a = new MyClass(); 

Он бросает эту ошибку:

Fatal error: Call to undefined method MyClass::get_ids() 

Это происходит только в LOCALHOST/XAMPP. Возможно, мне не хватает настройки php.ini, которая всегда присутствует на производственных серверах?

+0

Невозможно [воспроизвести] (http://3v4l.org/o5W7D) проблему. Вы действительно использовали этот комментарий '// etc}'? Вставьте полный код. – Federkun

+0

// здесь есть только потому, что это фрагмент очень большого класса. Я редактировал вопрос, чтобы удалить // и т. Д. – shanebp

ответ

1

Проблема заключалась в том, что я выводил некоторый javascript из другой функции в классе. Как только это произошло, остальная часть класса вызвала фатальную ошибку, начиная с первого вызова частного метода. В этой функции я выходил из php для вывода js.

Fatal:

public function show_js() { 
?> 
    <script type="text/javascript" > 
    jQuery(document).ready(function($) { 
     //etc 
    }); 
    </script> 
<?php 
} 

Если я эхо JavaScript в виде строки, не фатальная ошибка.

public function show_js() { 
    echo ' 
    <script type="text/javascript" > 
    jQuery(document).ready(function($) { 
     //etc 
    }); 
    </script>'; 
} 

** Это происходит только в xampp ** - по крайней мере, для меня. Зачем? Не знаю.

Смежные вопросы