Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (6) 1 2 [3] 4 5 ... Последняя » ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> 8-CMS, CMS в 8 строчек кода
chee  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 10 месяцев, 29 дней
Карма: 40




twin,
Цитата (twin @ 28.10.2015 - 05:24)
А про фабрики на статике, позволь усомниться. Ты их не приемлишь, а терпишь. По твоей же логике. Скорее всего не ты их делаешь.

Большинство фабрик не мои, но иногда новые пишу и я. Для меня не зашквар использовать статику. Вот тебе пример из недавнего моего кода, я был волен не использовать статику, мог запилить одиночку, но я же понимаю, в данном случае объект там не нужен был

<?php

function
cTraderSyncContacts()
{
ini_set('memory_limit', '500M');
global $timedate;

$traderService = \Vedisoft\cTrader\cTrader::getService();

if (!$traderService) {
return false;
}

$findUnsync = new \Vedisoft\cTrader\Query\FindUnsync;
$brokerAccounts = $findUnsync->getBrokerAccounts();

$dispatcher = \Vedisoft\cTrader\cTrader::getDispatcher($traderService);

$dispatcher->listen('create', function ($bean, $traderService) {
$request = \Vedisoft\cTrader\cTrader::bind('traderCreateRequest', $bean);
$response = $traderService->create($request);
\
Vedisoft\cTrader\cTrader::bind('traderCreateResponse', $response, $bean);
});

$dispatcher->listen('update', function ($bean, $traderService) {
$request = \Vedisoft\cTrader\cTrader::bind('traderUpdateRequest', $bean);
$response = $traderService->update($request);
\
Vedisoft\cTrader\cTrader::bind('traderUpdateResponse', $response, $bean);
});

$dispatcher->listen('changepassword', function ($bean, $traderService) {
$request = \Vedisoft\cTrader\cTrader::bind('changepasswordRequest', $bean);
$traderService->changePassword($request['login'], $request['password']);
});

foreach ($brokerAccounts as $brokerAccount) {
$traderService->setContext($brokerAccount);

$dispatcher->dispatchBrokerAccount($brokerAccount);

$errors = $dispatcher->getErrors();

if (empty($brokerAccount->ctrader_sync_event) && !$errors) {
$brokerAccount->ctrader_sync_status = 'done';
}

if ($errors) {
$brokerAccount->ctrader_sync_status = 'error';
}

$brokerAccount->ctrader_sync_date = $timedate->to_display_date_time(gmdate('Y-m-d H:i:s'));
$brokerAccount->ctrader_sync_hash = cTrader::hashIt('traderUpdateRequest', $brokerAccount);
$brokerAccount->ctrader_sync_password_hash = cTrader::hashIt('changepasswordRequest', $brokerAccount);
$brokerAccount->ctrader_sync_description = '';


if ($errors) {
$brokerAccount->ctrader_sync_description = implode("\n", array_filter(array_unique($errors)));
$GLOBALS['log']->fatal($brokerAccount->ctrader_sync_description);
}

$brokerAccount->save();
$dispatcher->flush();
}

return true;
}


Это реально мой код. Я не пересиливал себя когда использовал статику. Так что в данном случае, ты пытаешься решить, что то за меня, а потом сделать на основе этого выводы. Так дела не делаются.

Цитата (twin @ 28.10.2015 - 05:24)
Yii и Ларавель пошли по пути рациональности. Ты же обвинил их в говнокодинге. Про себя уже вообще молчу. А это значит ты променял здравый смысл на фанатичную приверженность к объектам. Соответственно ты фанатик чистой воды.

Я уже выше писал, видимо ты не прочитал мою позицию. Мое мнение касалось только Yii, насчет Laravel у меня другое мнение, не положительное, но другое. Ну и возможно "пахнуший" код ты воспринимаешь, как "говнокод", я же подразумеваю это Код с запашком


Цитата (twin @ 28.10.2015 - 05:24)
Вот именно! Год уже прошел, а ты все сомневаешься. Все не можешь решиться отойти от канонов хоть на полшага. Это ли не фанатизм? :)

Именно это и показывает, что я не фанатик, я критически воспринимаю идеи, сомневаюсь в них. Если бы я был фанатиком, то уже давно наплодил бы сеттеры/геттеры и был доволен как слон. Почитай в вики определении Фанатик.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Цитата (chee @ 28.10.2015 - 06:06)
Для меня не зашквар использовать статику.


А как же тогда мне понимать это:
Цитата (chee @ 20.10.2015 - 07:06)
Я больше, чем уверен, что ты скатишься в глобокий говнокод на статике, если захочешь написать на этом фреймворке, ту типовую CMS'ку из соревнования по парадигмам.
Я воспринял это как статика === говнокод.
Цитата (chee @ 28.10.2015 - 06:06)
Ну и возможно "пахнуший" код ты воспринимаешь, как "говнокод", я же подразумеваю это

Ну и какое место ты там собрался рефаткорить? Признайся, статику убирать из входной страницы. Потому что там её больше нигде нет. Равно как и у меня.
Цитата (chee @ 28.10.2015 - 06:06)
Именно это и показывает, что я не фанатик, я критически воспринимаю идеи, сомневаюсь в них
Год (а может и больше), это крайне много для принятия решения. Катастрофически много. Если ты до сих пор сомневаешься, это означает банальное "боишься". А боятся отступить от веры только фанатики.

Я могу ошибаться, и рад бы ошибиться. Я тебя очень уважаю хотя бы за то, что ты один из не многих не побоялся на деле отстаивать свои взгляды. Я про батл. И хоть хватило тебя не на долго, но сам факт достоин уважения. Но при этом от подавляющего большинства твоих комментов за версту несет фанатизмом. Может ты и не замечаешь просто. Но это факт.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 10 месяцев, 29 дней
Карма: 40




Цитата (twin @ 28.10.2015 - 10:25)
Я воспринял это как статика === говнокод.

Нет, я имел ввиду, что у кого то квалификации не хватит. wink.gif

Цитата (twin @ 28.10.2015 - 10:25)
Ну и какое место ты там собрался рефаткорить? Признайся, статику убирать из входной страницы. Потому что там её больше нигде нет. Равно как и у меня.

Это уже другой разговор, сейчас нужно смотреть код, продумывать вариант и их последствия.

Цитата (twin @ 28.10.2015 - 10:25)
Год (а может и больше), это крайне много для принятия решения. Катастрофически много.

Это не критически важный аспект, потому так и долго. Мне решение это вопроса нужно только для сущностей, а сущностями я как то еще не занимался, у меня на повестке дня Application layer.

Цитата (twin @ 28.10.2015 - 10:25)
Но при этом от подавляющего количества твоих комментов за версту несет фанатизмом.

Я это знаю, мне просто лень объяснять свою точку зрения и корректировать тональность текстов.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Цитата (chee @ 28.10.2015 - 06:38)
Это уже другой разговор, сейчас нужно смотреть код, продумывать вариант и их последствия.

Ты отреагировал так на конкретное место, которое я показал. А именно на вот это. Так что нечего там продумывать. smile.gif
Цитата (chee @ 28.10.2015 - 06:38)
Я это знаю, мне просто лень объяснять свою точку зрения и корректировать тональность текстов.
Ну а раз знаешь, то чего так воспринимать бурно. О человеке в интернете судят по высказываниям. Может в жизни ты милейший человек, но тут ярый фанатик. И не стоит этого отрицать. smile.gif


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Oyeme  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Reality is wrong. Dreams are for real
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1672
Пользователь №: 16955
На форуме: 7 лет, 9 месяцев, 6 дней
Карма: 94




Цитата
А с исключениями, особенно когда они разбросаны по иерархиям, это бред. Однако этот бред выдается за научный метод ООП. А тот, кто не анализирует, а слепо верит, и есть фанатик. Тут никакие не ярлыки. Тут сплошной прогматизм и холодная логика. Это не за один день о тебе сложилось мнение. Ты постоянно пытаешься всунуть в дискуссию разные паттерны, технологии и так далее, слепо веря, что это единственно верно. Без попытки анализа. А это и есть фанатизм. Если послужит утешением, ты тут далеко не один такой. ООП штука заразная, как менингит. Поражает весь мозг, без остатка.

Нет слов laugh.gif
user posted image


--------------------
Programming: Private lessons via skype £45/h

Частные уроки в Лондоне / удаленно по skype.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
waldicom  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 6204
Пользователь №: 5552
На форуме: 8 лет, 4 месяца, 25 дней
Карма: 162




Цитата (twin @ 28.10.2015 - 02:24)
Так вот, если пользователь допустил ошибку при работе с системой, реакция должна быть одной. 500 Internal Server Error. Потому что плохо работающая система хуже вообще не работающей.

Хорошо, что врачи не говорят: так, у вас сердце болит? Остановить! Плохо работающее сердце хуже вообще не работающего!

Цитата (twin @ 28.10.2015 - 02:24)
Фреймворк должен реагировать на любую ошибку пользователя фаталом

Врач сказал в морг, значит в морг.

Но к счастью, когда пациент хочет жить, медецина бессильна.


--------------------
Свои мозги еще никто не отменял.
Телепатов нету.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Santehnick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 231
Пользователь №: 26735
На форуме: 5 лет, 8 месяцев, 25 дней
Карма: 15




twin, статика (так же как и инстанциирование объекта) не поддается тестированию при классическом подходе к юнит-тестам. Мне например нравится AR в Yii, но из-за статических find методов приходится уродовать код и писать метод-обертку над статическим find методом, чтобы была возможность замокать зависимость от AR.

Хотя решение уже есть (без runkit) https://github.com/Codeception/AspectMock, этот мок-фреймворк позволяет мокать все что угодно, вплодь до встроенных php функций. С ним можно протестировать любой код (к примеру в котором присутствует прямое инстранциирование объектов или вызовы статических методов). Но за 2 года это решение пока не набрало популярности и репозиторий проекта также полумертвый, хотя моё мнение, направление верное и крайне важное.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Цитата (waldicom @ 28.10.2015 - 09:34)
Хорошо, что врачи не говорят: так, у вас сердце болит? Остановить! Плохо работающее сердце хуже вообще не работающего!

Не верная метафора. Фреймворк, это не сердце. Это инструмнет. Если сравнивать с кардиологией, то это сложный прибор, помогающий делать операции. И вот человека привозят для коронарного шунтирования, а во время операции аппарат искуственного дыхания начинает работать через раз и моргать лампочками. Мол ой! ай! Так вот. Лучше когда он вообще бы не включился. Тогда бы его вовремя починили или заменили на другой. Чем он начал сбоить во время жизненно важного процесса. И хоть изморгается он, хоть испищиться вашими эксепшенами, поциенту легче не станет. Он тихо отбросит ласты.

Дык мало того. Когда придет техник, он будет прекрасно работать! Есть кто сисадмины, они поймут о чем я. А логов и нет. Не логируются ваши эксепшены. Всё что жил, то зря.


Потому логирование очень важно для фреймворка. Ошибки нельзя обрабатывать и прятать. На собчаку же вы стойку делаете. А эксепшены, это помесь собачек и GOTO по большму счету. Они хороши только на стороне пользователя. Фреймворк обязан логировать ошибки ибо это репутация. Кто-нибудь криворукий скажет - говнокод твой ABC, довел юзера до инфаркта. А я его в лог натычу сопливым носом и покажу кто виноват))) А эксепшены ваши для системы - филькина грамота. PHP не кидает эксепшенов на ошибки логики и синтаксис. А чего, дали бы возможность такую. Написал кривой код - хась эксепшен. И мы раз, и на перл переключились. smile.gif

А фреймворк по сути - расширение ЯП. И правила должны быть схожими. Просто у вас привычки. Если класс, то обязательно исключения нужны. Это ООП головного мозга.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11782
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 9 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 9 дней


Цитата (twin @ 28.10.2015 - 15:29)
А логов и нет. Не логируются ваши эксепшены.

а мужики-то и не знали


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Цитата (Invis1ble @ 28.10.2015 - 11:42)
а мужики-то и не знали

Не начинай. Я уже ответил:
Цитата (twin @ 28.10.2015 - 05:27)
Только не нужно говорить, что пользователь должен логировать сам. Ничего он фреймворку не должен. И зачастую не делает. Фреймворк должен сам заботиться о своей репутации.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
waldicom  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 6204
Пользователь №: 5552
На форуме: 8 лет, 4 месяца, 25 дней
Карма: 162




Цитата (twin @ 28.10.2015 - 12:50)
Только не нужно говорить, что пользователь должен логировать сам. Ничего он фреймворку не должен. И зачастую не делает. Фреймворк должен сам заботиться о своей репутации.

Представляю себе аппарат искусственного дыхания по твину...
Логи.

00:00:00.00000001 Начинаю давить поршень вниз
00:00:00.00000002 Прошел 0,00001 мм
00:00:00.00000003 Прошел 0,00002 мм
00:00:00.00000003 Пациент пока жив
00:00:00.00000004 Прошел 0,00003 мм
00:00:00.00000005 Прошел 0,00004 мм
00:00:00.00000006 Прошел 0,00005 мм
...
FATAL ERROR! NO SPACE LEFT ON DEVICE! TERMINATING! patient is die.


--------------------
Свои мозги еще никто не отменял.
Телепатов нету.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


waldicom
Не утрируй. smile.gif Логи по твину такие:

00:00:00.00000001 Включение
00:00:00.00000002 Нет давления в первом цилиндре, потому что кто-то налил вместо масла остатки вчерашнего пива
FATAL ERROR! FURTHER OPERATION OF THE DEVICE IS NOT POSSIBLE!

По вашей логике должно быть так.
00:00:00.00000001 Включение
00:00:00.00000002 Нет давления в первом цилиндре, потому что кто-то налил вместо масла остатки вчерашнего пива
00:00:00.00000002 Чё делать то? Может кофе попробовать залить?
00:00:00.00000002 ??
00:00:00.00000002 ???
00:00:00.00000002 ?????!!!
Кирдык. Die поциент. Зато всё по науке.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
waldicom  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 6204
Пользователь №: 5552
На форуме: 8 лет, 4 месяца, 25 дней
Карма: 162




Ты или не увидел, что я хотел сказать, или не захотел увидеть.
Я говорил про логирование всего самим фреймворком, а ты говоришь про исключения. Но если тебе так нравится, ты можешь спокойно перевирать мои слова. Я не против.
И кстати, меня не надо причислять в ваши лагеря, мне просто весело смотреть, как вы тут... эммм... ведете беседы, скажем так.


--------------------
Свои мозги еще никто не отменял.
Телепатов нету.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Oyeme  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Reality is wrong. Dreams are for real
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1672
Пользователь №: 16955
На форуме: 7 лет, 9 месяцев, 6 дней
Карма: 94




Цитата
Потому логирование очень важно для фреймворка. Ошибки нельзя обрабатывать и прятать. На собчаку же вы стойку делаете. А эксепшены, это помесь собачек и GOTO по большму счету. Они хороши только на стороне пользователя. Фреймворк обязан логировать ошибки ибо это репутация. Кто-нибудь криворукий скажет - говнокод твой ABC, довел юзера до инфаркта. А я его в лог натычу сопливым носом и покажу кто виноват))) А эксепшены ваши для системы - филькина грамота. PHP не кидает эксепшенов на ошибки логики и синтаксис. А чего, дали бы возможность такую. Написал кривой код - хась эксепшен. И мы раз, и на перл переключились


user posted image

Exceptions не заниматеся обработкой fatal ошибок.Exceptions сделаны для того чтобы обработать уже известные ошибки.

Так работает сейчас все ОС.Всякие recovery mode во время работы итд для того чтобы востановить работу программы в realtime.Даже если телефон завис у Вас,это не означает что он перестал работать это возможно все ушло в бесконечный цикл обработки,так как система пытается "обработать" и решить проблему".

В Вашем же случаеи Вы просто показывает белый экран.


Вот что вспоминается http://lurkmore.to/%D0%91%D1%8B%D0%B4%D0%B...%B4%D0%B5%D1%80

Цитата
Всё, что построено по чётким правилам, что предъявляет строгие требования к чему-либо, что сковывает свободу во имя порядка и правильного функционирования чего-либо, что учит хорошим манерам (стилю), является неприемлемым, недопустимым и уродливым, и только их хаос и анархия есть гармония


Попадает под Ваше описание.


--------------------
Programming: Private lessons via skype £45/h

Частные уроки в Лондоне / удаленно по skype.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 1 месяц, 29 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 9 дней


Цитата (Oyeme @ 28.10.2015 - 12:45)
Exceptions не заниматеся обработкой fatal ошибок.Exceptions сделаны для того чтобы обработать уже известные ошибки.

На этом можно и закончить. Не вижу я смысла обрабатывать ошибки пользования системой. Я вижу смысл их исправлять. Если я в конфиге прописал неверные данные коннекта, на кой ляд мне исключение? Это фатал в чистом виде. Если я на вход сервиса вместо string сую array, это фатал. Не должен я исправлять последствия. Я должен исправить причину. На кой мне ляд исключение? Чем оно краше trigger_error? И так далее. Фреймворк не должен работать дальше при таком с ним обращении. Ибо результаты непредсказуемы. И тем более он не должен давать возможность как то иначе среагировать на сей казус, тем более не отметив это в логе.
Цитата (Oyeme @ 28.10.2015 - 12:45)
В Вашем же случаеи Вы просто показывает белый экран.
Именно так. Не совсем белый, 500 на нем большими буквами. Потому что если вместо string там array, что будет дальше - история умалчивает.

Быть может вы не вникли в код, который я показал. Напишу иначе:
    public function strtolowerUTF8($var = null)
{
if (!is_string($var)) {
@trigger_error('это не строка');
return false;
}

return mb_strtolower($var, 'utf-8');
}


Тут все просто. Если сунули массив, то при включенном дебагге кастомный хэндлер покажет где и какая ошибка. При включеном режиме production он же вывалит 500. При этом все слогируется. Чем тут поможет исключение? И чем оно лучше? И почему его нельзя навешать снаружи?

Пользователю в приложении никто не запрещает отключить 500, сделать примерно так:
	if (false === ($str = $obj->strtolowerUTF8(['Array'])) {
throw new \InvalidArgumentException('Какого ляда?');
}
И наслаждаться канонами. При этом все равно все слогируется.


Для чего эксепшены в фреймворке, объясните популярно, без эпитетов. Чем провинился trigger_error, которым пользуется сам PHP? Почему фреймворк лишается возможности логировать нехорошее с ним обращение?


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (6) 1 2 [3] 4 5 ... Последняя » Ответ в темуСоздание новой темыСоздание опроса