- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
public function throwExceptions($flag = null)
{
if ($flag !== null) {
$this->_throwExceptions = (bool) $flag;
return $this;
}
return $this->_throwExceptions;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+155
public function throwExceptions($flag = null)
{
if ($flag !== null) {
$this->_throwExceptions = (bool) $flag;
return $this;
}
return $this->_throwExceptions;
}
Зенд
без параметров он возвращает значение свойства
с параметром - устанавливает значение и возвращает this, чтобы это можно было кидать в середину цепочки вызовов, типа, $object->func()->func2()->throwExceptions(true)->func3();
$this_throwExceptions = (bool)$flag;
return $this;
Ваш код будет делать присваивание всегда.
Когда я пользуюсь методом thowExceptions, который принимает флаг, то, если я не полный дибил - то понимаю, что собственно этот метод должен или устанавливать кидание эксепшнов, или нет, и возвращать инстанс класа.
Навешивать на этот метод еще и проверку а возвращаются ли у меня эксепшны - немного неправильная практика, которая увеличит число потенциальных ошибок. Для того, что бы проверить кидаются ли у нас эксепшны, должен быть еще один метод, который зовется, что-то вроде isThrowsExceptions() - который возвращает или true или false. Все.
В одном варианте он отвечает статус включен ли throwExceptions. В другом - его сеттит, и позваоляет чейнить.
Можно было сделать два метода, но я так подозреваю, что это было сделано для тогго чтобы не переписывать другие модули, и действительно была запарка.
Иногда некоторые вещи бонально писать не интересно.
здесь код не однозначен, чем и плох
Работать так вообще-то удобно.
тем, кому чужд такой подход - надо всегда видеть 10000 строк кода в каждом пустяковом файле?
Необходимо всего лишь знать API