- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
public function save() {
try {
try {
$this->create();
} catch (Exception $e) {
//probably dulplicate
$this->update();
}
} catch (Exception $e) {
logger::error($e);
}
}
А вот тут говориться как определять свои эксепшены
http://ru.php.net/manual/en/language.exceptions.extending.php
К ним же ErrorException
spl уже давно включен в стандартную поставку php, начиная ажно с версии 5.0.
А с версии 5.3 ее даже убрать нельзя во время сборки пхп.
или использование try ... catch обязательно?
божемой.
1. откуда в этом слое знание о реквесте? этим должен заниматься слой ввода-вывода
2. следствие из 1 - несекьюрно
3. наличие id еще ничего не говорит
4. зная особенности пхп как динамичного языка, сравнение с нулем одновременно и недостаточно, и избыточно, т.к.
4.1. id может быть и не установлен вообще (по идее, это и правильно для нового объекта)
4.2. id может прийти еще и "", и null
4.+ суммируя, я бы использовал empty()
у меня бы они вылетали до самого верха, где уже слой вывода их ловил, писал в лог и выдавал бы красивое сообщение об ошибке - в продакшене пару слов, в девел - системное сообщение с полезной инфой (стектрейс, содержимое основных суперглобалов)
видимо он перед этим пил, язык не вяжет