Size: a a a

2020 March 26

AS

Alexey Samoylov in Yii Framework 3
Чисто для понимания уровня
источник

NO

Nex Otaku in Yii Framework 3
Моего или Эндрю Ханта? Ну раз ты на авторитет ссылаешься, я тоже сослался.
источник

NO

Nex Otaku in Yii Framework 3
Вроде как он гуру )
источник

AS

Alexey Samoylov in Yii Framework 3
Гуру написания мидлварей ?
источник

AS

Alexey Samoylov in Yii Framework 3
И проброса ошибок или доменных исключений вверх ?
источник

AS

Alexey Samoylov in Yii Framework 3
Мидлварь может, например, ходить к стороннему сервису для дополнительной авторизации, и кидать какой-нить RetryableException, который предыдущая мидлварь поймет и заретраит вызов
источник

AS

Alexey Samoylov in Yii Framework 3
Такие вещи есть, например, в Spring
источник

AS

Alexey Samoylov in Yii Framework 3
источник

AS

Alexey Samoylov in Yii Framework 3
Но там наверное это тоже костыль?
источник

NO

Nex Otaku in Yii Framework 3
Use Exceptions for Exceptional Problems

Why do we suggest this approach to exceptions? Well, an exception represents an immediate, nonlocal transfer of control — it’s a kind of cascading goto.

Programs that use exceptions as part of their normal processing suffer from all the readability and maintainability problems of classic spaghetti code.

These programs break encapsulation: routines and their callers are more tightly coupled via exception handling.

(с) Andrew Hunt, "The Pragmatic Programmer"
источник

AS

Alexey Samoylov in Yii Framework 3
Или такое
источник

AS

Alexey Samoylov in Yii Framework 3
источник

AS

Alexey Samoylov in Yii Framework 3
В слабосвязной мультисервисной архитектуре такие вещи используются повсеместно
источник

AS

Alexey Samoylov in Yii Framework 3
источник

NO

Nex Otaku in Yii Framework 3
Alexey Samoylov
Мидлварь может, например, ходить к стороннему сервису для дополнительной авторизации, и кидать какой-нить RetryableException, который предыдущая мидлварь поймет и заретраит вызов
Интересно, если мидлварь может повторить вызов, почему она не сделает этого сама, а кому-то поручает это?
источник

NO

Nex Otaku in Yii Framework 3
Какой-то странный пример.
источник

AS

Alexey Samoylov in Yii Framework 3
Nex Otaku
Интересно, если мидлварь может повторить вызов, почему она не сделает этого сама, а кому-то поручает это?
Потому что кинуть такое исключение может любая мидлварь, а обработает и заретраит вызов - корневая
источник

А

Алексей R in Yii Framework 3
собсна как сроутером
источник

А

Алексей R in Yii Framework 3
сказать, что "не надо выполнять этот роут" сам роутер заранее не сможет
источник

NO

Nex Otaku in Yii Framework 3
Alexey Samoylov
Но там наверное это тоже костыль?
За Спринг не отвечаю, как и за Симфони. В любом коде, хоть во фреймворке, хоть в самом языке, могут встречаться анти-паттерны. На то нам и голова, чтобы критически мыслить, а не слепо доверяться решениям разработчика фреймворка.
источник