Я привел пример
конткретный. Ты не можешь написать так:
$v1 = (new A)->v1;
$v2 = (new A)->v2;
Потому что это будет два разных объекта. А значит ты обязан писать третью строчку. Yii и Ларавель пошли по пути рациональности. Ты же обвинил их в говнокодинге. Про себя уже вообще молчу. А это значит ты променял здравый смысл на фанатичную приверженность к объектам. Соответственно ты фанатик чистой воды.
Давай другой пример приведу фанатизма. Не только тебя, практически всех приверженцев ООП. Это ексепшены. Как тут на меня набросились за trigger_error... Я в итоге был вынужден отступить, так как это все-таки фреймворк, а им в основном пользуются ООПэшники. Пусть даже начинающие.
Твои слова:
Почему это ексепшены стали сопутствующей технологией ООП? Ты не сможешь объяснить. Просто потому что. А это фанатизм без анализа.
А вот давай рассуждать с точки зрения здравого смысла, а не с точки зрения слепой веры.
Что есть фреймворк. По сути это система, микроязык программирования. Он инкапсулирует некоторую логику, предоставляя пользователю интерфейсы. Так вот, если пользователь допустил ошибку при работе с системой, реакция должна быть одной. 500 Internal Server Error. Потому что плохо работающая система хуже вообще не работающей. Это может привести к плачевным результатам. Вы же предлагаете дать возможность пользователю самому решать, как реагировать на свою же ошибку. Это равносильно собачке. А, не пошло что-то, заглушим собачкой и ладно. Сойдет. Так и тут. Ну выдал фреймворк ошибку, что нет соединения с базой, а вот ка мы сейчас еще раз попробуем.
Фреймворк должен реагировать на
любую ошибку пользователя фаталом и
записью её в лог. А с этим как нельзя лучше справляется trigger_error, совместно с set_error_handler, который уже кидает исключение, останавливающее скрипт с неминуемой 500.
Не должен юзер заморачиваться с логированием, оно должно быть
обязательным. Это здравый смысл.
На стороне пользователя ради Бога, пусть сам создает иерархию исключений, пусть реагирует как хочет, его право. Фреймворк не должен давать ему возможности самому решать, как реагировать на неверное с ним обращение.
По мне так идеальным был бы такой вариант:
public function get($key = null)
{
if (empty($var)) {
@trigger_error('нет аргумента');
return false;
}
return $this->array[$key];
}
С реакцией 500 на триггер.
Хочется пользователю, пусть сам бросит исключение. Сам же на него и отреагирует. Но логируется ошибка обязательно. А фреймворк, когда отключен режим дебаггинга, должен кидать на это 500. У меня сейчас так и сделано, только еще придется заморачиваться с собственным логером. Потому что я не могу сделать рационально, на фреймворк тогда скажут дружное фуу!
Хотя это здравый смысл. А с исключениями, особенно когда они разбросаны по иерархиям, это бред. Однако этот бред выдается за научный метод ООП. А тот, кто не анализирует, а слепо верит, и есть фанатик. Тут никакие не ярлыки. Тут сплошной прогматизм и холодная логика. Это не за один день о тебе сложилось мнение. Ты постоянно пытаешься всунуть в дискуссию разные паттерны, технологии и так далее, слепо веря, что это единственно верно. Без попытки анализа. А это и есть фанатизм. Если послужит утешением, ты тут далеко не один такой. ООП штука заразная, как менингит. Поражает весь мозг, без остатка.
По поводу этого:
Вот именно! Год уже прошел, а ты все сомневаешься. Все не можешь решиться отойти от канонов хоть на полшага. Это ли не фанатизм? :)
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.