Действительно ли исключения в php так полезны?
3 дня назад я начал переписывать один из моих сценариев в ООП, используя классы в качестве практики, после того, как много прочитал о преимуществах использования ООП.
Сейчас я в замешательстве, погода, я должен использовать исключения или нет. Кажется, они делают мою работу тяжелее и дольше.
Мое приложение проверяет, были ли данные отправлены через запрос Ajax или нет, а затем использует эту информацию через скрипт.
Проверьте этот пример:
/*
* The older way
*/
if($ajaxEnabled) {
$error = errorWrap('Ajax error');
} else {
$error = errorWithBackLinkWrap('NoAjax error');
}
function doSomething() {
if(empty($POST['name'])) {
die($error);
}
}
/*
* OOP way
*/
class someClass {
private $_ajaxEnabled;
public function doSomething() {
try {
if(!$this->_isDateValid()) {
if($this->$_ajaxEnabled) {
throw new ajaxException('Ajax error');
} else {
throw new noAjaxException('NOAjaxError');
}
}
} catch(ajaxException $e) {
echo $e->getErrorMessage();
} catch(noAjaxException $e) {
echo $e->getErrorMessage();
}
}
}
Этот код предназначен только для демонстрации проблемы, поэтому я знаю, что в нем есть несколько неопределенных функций :).
Поэтому, прежде чем начать работу, обработка ошибок была проще для меня, потому что мне нужно было только отобразить соответствующую ошибку.
Теперь, используя исключения, в каждой функции я должен сначала проверить тип соединения, а затем написать 2 функции catch для каждого сгенерированного исключения, что приводит к гораздо большему коду.
Я действительно новичок в ООП в php, так что, может быть, есть чище и лучший способ сделать это, не так ли?