Intereting Posts
как использовать php с ini-файлами Не отображается PHP MySQL INSERT и не отображается какая-либо ошибка DateTime :: diff () не зависит от часовой пояс, но всегда возвращает одинаковое значение Кто-нибудь знает, как преобразовать двоичные данные, хранящиеся в базе данных, обратно в изображение? Code Igniter – как вернуть ответ Json от контроллера Динамическое название страницы? PHP включает ссылки? Экран -X не работает («Нет экрана») PHP-анализ XML из URL-адреса Использование curl PHP, как получить тело ответа для ответа 400 Являются ли функции PHP чувствительными к регистру? Преобразование целочисленных строк в формат денег установить кодировку при сохранении файлов с помощью php Как исправить память, израсходованную с помощью PHPExcel? Как создать водяной знак изображения wm_type наложения в Codeigniter? Вставьте несколько строк в mysql (элементы, разделенные запятой)

Найти, где был создан экземпляр класса

Я пытаюсь решить эту ошибку: Fatal error: Cannot redeclare class

Я искал везде, и я не могу найти, где был создан экземпляр класса.

В любом случае я могу распечатать информацию об отладке существующего экземпляра этого класса.

Related of "Найти, где был создан экземпляр класса"

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

Один альтернативный подход – использовать autoload для загрузки классов, чтобы избежать такого рода проблем. Другим является использование include_once или require_once. Обычно я предпочитаю использовать требование с простой структурой.

Да, глупый php не говорит вам, где был объявлен класс. Попробуйте следующее (непосредственно перед фатальной ошибкой)

 $r = new ReflectionClass("YourClassName"); echo $r->getStartLine(); 

Вы можете узнать, где объект был создан с помощью var_dump(debug_backtrace()); и глядя на стек вызовов.