#php #cakephp #cakephp-1.3 #warnings #try-catch
#php #cakephp #cakephp-1.3 #предупреждения #попробуйте -поймайте
Вопрос:
У меня есть одно место в моем коде, где я освобождаю некоторые ресурсы ingres, и я не могу узнать, является ли параметр допустимым ресурсом ingres.
Поэтому я хотел бы сделать это в любом случае (за исключением if empty() ) .
Я пытаюсь его перехватить, но когда это недопустимый ресурс, CakePHP перехватил исключение, а затем отобразил сообщение отладки, и это испортило кодировку всего сайта.
Я знаю, что не могу отключить отладку для всего сайта, но сайт находится в стадии разработки, и это не то, что я хочу.
Итак, как управлять CakePHP, чтобы НЕ отображать это предупреждение для этого исключения в этой строке (я также не хочу игнорировать все ошибки этого типа).
Возможно ли это?
Большое вам спасибо
Комментарии:
1. Я считаю очень маловероятным, что было бы невозможно проверить действительность ресурса. Попробуйте
var_dump( $resource )
и проверьте, какой тип он возвращает, если ресурс недействителен.
Ответ №1:
Вы можете подавить ошибки / предупреждения с помощью оператора управления ошибками, но, не видя какого-либо кода, не можете посоветовать более конкретно.
@mysql_connect('localhost', 'root, 'pass');
@file('file.txt');
и т.д.
Или вы могли бы попробовать ~
Configure::write('debug', 0); // turn off debugging
/* your code here where you don't want any errors */
Configure::write('debug',2); // turn on debugging
Однако я уверен, что есть правильный способ проверить наличие достоверных данных. некоторый код в вашем исходном сообщении поможет
Ответ №2:
Если это не постоянное соединение, PHP автоматически освободит его: http://www.php.net/manual/en/language.types.resource.php