PHP основная функция печати отладочных операторов - PullRequest
1 голос
/ 16 апреля 2010

Я интегрирую фреймворк ( Kohana 2.3.4) в веб-приложение ( IPB 2.3.4 / 2.3.6) через стороннюю библиотеку мостов ( IPBWI 2.07), и я начал видеть строку NOT FOUND в верхней части вывода веб-страницы.

Как я могу отключить это сообщение?

Я сузил его до вызова class_exists(...) в IPB. Вызов работает правильно, за исключением печати сообщения «НЕ НАЙДЕНО». Когда выполняется само по себе (не вызывается Kohana через IPBWI) сообщение не печатается. Странно то, что я идентифицировал вызовы того же метода в Kohana, которые вызываются ранее, но не печатают сообщение.

    echo 'Calling class_exists<br>';
    if ( ! class_exists( 'db_main' ) )
        echo 'class_exists returns false<br>';
        ...

Результат:

    Calling class_exists()<br>NOT FOUND<br>class_exists() returns false<br>

Обратите внимание, что он не только печатает «НЕ НАЙДЕНО», но и сопровождает его тегом html <br>, как будто он предназначен для отладки во время выполнения.

Я не очень знаком с PHP, но есть ли какая-то глобальная настройка отладки, которая включена? Какие типы флагов я должен проверить?

1 Ответ

1 голос
/ 16 апреля 2010

Не думаю, что внутренние функции, такие как call_exists(), будут выводить отладочные сообщения такого типа.

Но учтите, что по умолчанию вызов class_exists для класса, который еще не определен, приведет к автозагрузчику, вызываемому .


Если где-то в вашем приложении установлен автозагрузчик, возможно, этот автозагрузчик отображает «NOT FOUND», когда он не может автоматически загрузить класс.

Для получения дополнительной информации об автозагрузке см .:


Теперь, чтобы быть уверенным и знать, где определен этот автозагрузчик и что он делает (и, возможно, найти способ удалить это сообщение) , вы можете искать "NOT FOUND" во всех исходные файлы вашего проекта - это немного грубое решение, но оно часто помогает; -)

...