Пантелеев
так а данные тогда как мы получим, если у нас какая то из этих ошибок?
SarcasmIO
никакие, очевидно
invariance
@ как получим? @ никакие
Пантелеев
SarcasmIO
суть в приоритетности и разделении обязанностей, если у тебя какой-то cli скрипт, который ты запускаешь сам, без суперизора, или по крону, который берешь получает данные и пишет куда-то в базу, тебе чисто плевать на ошибки что он там возвращает тебе важно их обработать, что бы не упал весь апликейшн и все
Пантелеев
точнее не понял как вот эти три утверждения уживаются
Пантелеев
тебе чисто плевать на то что он кидает
Пантелеев
тебе важно получить данные
Пантелеев
никакие, очевидно
Пантелеев
ну да
Пантелеев
так а зачем пересилсять ексепшн
Пантелеев
можно просто ловить исключение более общего уровня
Пантелеев
имхо перечислять эксешпн это тоже самое как вводить ифы вметсо полиморфизма где это возможно
SarcasmIO
что бы обработать все возможные варианты исключений, речь не идет про огроменный апликейшн где построена логика на ислючениях
Пантелеев
\Exception обработает все исключения
Пантелеев
так же если для исключений общая обработка то можно интерфейс-маркер укзать для них
Dmitriy
Пантелеев
фарт написал что все ему надо
SarcasmIO
там про типы
invariance
ты заебал
Dmitriy
фарт написал что все ему надо
фарт хотел все кастомные =)
Dmitriy
а не все при все
Сергей
Всем привет.Ребят нужна помощь.Начал изучать PHP,и дико встрял.Нужно сделать вызов одного компонента из шаблона другого.Что то погуглив даже не могу найти код решения.Не судите строго.Я тольок начинаю во всё вливаться)
Сергей
😄
Сергей
Ну если строго,то ненадо))
Евгений
SarcasmIO
ничего не охуеет
Евгений
я тебе выше скинул
Maks
ого, живой кот
у нас весь кот живой
Евгений
скачай лару
SarcasmIO
class Dependency {protected $property = 'hello';} class Main { protected $dependency; public function __construct() { $this->dependency = new Depenency; echo $this->dependency->property; // or ->method() }
Sergey
Да, есть
Dmitriy
ты заебал
+ можно в качесве то он гуглом не умеет пользоваться . ро дать
Anonymous
гугл открой
invariance
какой чувствительный мальчик томми
Anonymous
какой чувствительный мальчик томми
какой ты* ну пол цитаты в жопу ээ
Dmitriy
@DarkByte2016 к сожалению ответ на ваш вопрос - привилегия, а не право. И кто мог бы ответил. Ну вообщем вам не повезло что я зашел сюда и в это время вы написали =) . Уходите в РО за "ебанатов в этом чате" на неделю.
SarcasmIO
👍
invariance
чот жоска
invariance
но типо кнут и пряник, все как надо
SarcasmIO
Кнутом ФОлляше по жопе, пряник мне к чаю
invariance
кнут к чаю, пряником по жепе
Anonymous
посоны. у меня вопрос. я могу отдавать или json, или html. где обрабатывать это? во вьюхе? или в фронт контроллере?
Dmitriy
где-то в сервисе.
Andrey
Фронт-контроллер
Dmitriy
где-то в сервисе.
function index(){ $items = $this->item->all(); return $this->formater->asJson($items); }
Anonymous
Фронт-контроллер
ну единая точка входа, бля. просто я могу по итогу возвращаемый ответ уже обрабатывать в ней после того, как контроллер отработал.
SarcasmIO
зависит от того тчо ты подразумеваешь под обрабатывать
Anonymous
запрос->contoller->die ахаха
SarcasmIO
написать логику => сервисы, ну или на худой конец в контроллере если пара строк
Пантелеев
фарт хотел все кастомные =)
наследуй все кастомные от своего супер типа или помечай интерфейс маркером
Пантелеев
не стоит вводить перечисления там где можно их не вводить
SarcasmIO
а если у меня есть типы исключений, аля те которые кидает очереди допустим, но логических их нельзя объединить под одним интерфейсом, но процессить нужно одинаково в случае ошибки
Пантелеев
посоны. у меня вопрос. я могу отдавать или json, или html. где обрабатывать это? во вьюхе? или в фронт контроллере?
у меня это контроллер решает...то есть или массив отдаешь или передаешь данные в шаблон на рендеринг...плюс можно делать метки в том месте где описыаешь роуты, указывать формат отдачи, но эт как правило извращений некоторых требует
SarcasmIO
сервис это типо mvcs
Пантелеев
значит что то общее все таки есть
Пантелеев
приведи конкретный пример двух исключений лучше
Пантелеев
которые логически не связаны но одинакого обработать надо + нельзя их обработать как исключение более высокого уровня
Dmitriy
наследуй все кастомные от своего супер типа или помечай интерфейс маркером
эм. не везде пойдет это . да и иногда нужно обработать одинаково 2 эксепшена а остальные по другому
Пантелеев
тогда маркеры я написал же
Пантелеев
их маркеров тоже иерархию строить можно кстати))
Пантелеев
но это на любителя
Пантелеев
ну вот у меня примерно так сейчас работает. но по сути же вьюха должна отвечать за представление данных. или я слишком заморачиваюсь?
если у тебя json отдается или просто строка то вьюхи нет получается...ну ил иомжешь считать функцию json_* вьюхой которую вызываешь из контроллера
Dmitriy
тогда маркеры я написал же
и перестраивать vendor библиотеки ?
SarcasmIO
приведи конкретный пример двух исключений лучше
catch(MyEventException | JobExceptionOccurred $e){ $this->markAsUnresolved($e->getclass) }catch(TelegramSDKException | SlackSDKException $e){ $this->notify($e->getmessage) }
Пантелеев
TelegramSDKException и SlackSDKException в разных иерархиях как я понял?
SarcasmIO
TelegramSDKException и SlackSDKException в разных иерархиях как я понял?
ну там вполне может быть код вида $this->strategy->sendMessage(array $params);
Dmitriy
приведи конкретный пример двух исключений лучше
try { $tg->getMe(); }catch (TelegramTooManyRequestsException | TelegramConnectionFalledException $error){ // wait and return }cache(TelegramSDKException $e){ $log->alert($e); };
Пантелеев
да я про вендорские не подумал