Я читал, в частности, "журнал ошибок". И я придумал функцию "error_log", которая, похоже, является хорошим инструментом для обработки журнала ошибок. Но как самый гладкий и лучший способ использовать его?
Если у меня есть
try {
//try a database connection...
} catch (PDOException $e) {
error_log($e->getMessage(), 3, "/var/tmp/my-errors.log");
}
Это приведет к регистрации ошибки в файле my-errors.log. Но что, если мне когда-нибудь понадобится изменить положение файла, новую папку или что-то еще. Если у меня есть тонны файлов, мне нужно их все изменить.
Теперь я начал думать о том, чтобы использовать переменную для установки пути к журналу ошибок. Конечно, это может сработать, но что, если я хочу использовать error_log в методе функции или класса? Тогда мне нужно будет установить переменную как глобальную, но это считается плохой практикой! Но что, если я не буду использовать функцию глубоко в классе, разве это не будет считаться плохой практикой? Что является хорошим решением здесь?
<?php
function legit() {
try {
if (1 == 1) {
throw new Exception('There was an error here');
}
} catch (Exception $e) {
throw new Exception('throw the error to the try-catch outside the function...');
}
}
try {
legit();
} catch (Exception $e) {
echo 'error here' . $e->getMessage();
//log it
}
Это пример того, о чем я говорил выше (не имея регистрации в классе/функции... Это хороший способ?)
Более того, каждый:
Я не совсем уверен, как использовать Исключения вообще. Скажем, я хочу сделать INSERT для базы данных с SQL внутри метода, будет ли я использовать try/catch, а затем перестроить исключение, если это не сработает? Это считается хорошей практикой? Примеры пожалуйста.