Size: a a a

2020 July 25

S

Sergey in PHP
одна обязанность/зона ответсвенности - это одна причина для изменения?
источник

A

Andrii in PHP
Sergey
одна обязанность/зона ответсвенности - это одна причина для изменения?
Да
источник

S

Sergey in PHP
2 интерфейса - это 2 обязанности?
источник

S

Shurick in PHP
еще добавлять чтото проще чем удалять )
источник

АК

Артём Колотик... in PHP
Всем привет. Панель Vestacp, из-за одного сайта крашнулся ngix и не включался, в чем может быть дело или что нужно изучить чтоб более подробнее разобраться?

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

А

Артём in PHP
Артём Колотик
Всем привет. Панель Vestacp, из-за одного сайта крашнулся ngix и не включался, в чем может быть дело или что нужно изучить чтоб более подробнее разобраться?

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

S

Shurick in PHP
Артём
в описании группы есть ответ
как раз там нет ответа
источник

VM

Volodymyr Melko in PHP
Andrii
У SRP есть еще одно трактование. Оно говорит, что его следует понимать как единственную причину для изменения, а не как единственную обязанность. Это значит, что если класс используется в двух сценариях в приложении, то изменение этого класса повлияет на эти два сценария. И нужно делать так, чтобы эти изменения не были критичными для второго сценария. Например, если в одном случае мы снимаем деньги с аккаунта, и ожидаем получить эксепшн, если баланс станет меньше ноля, то в другом случае мы ожидаем получить минусовой баланс. И если мы поменяем поведение с эксепшена на минусовой (потому что нам нужно чтобы в каком-то случае баланс был именно минусовым), то это затронет поведение в другом сценарии и таким образом мы нарушим SRP.
С недавнего времени делаю 2 интерфейса для registry-like классов. Интерфейс, который позволяет  наполнить и второй для чтения. Ведь наполняется он в одном месте, где по сутип происходит конфигурация, а используется в другом и это явно 2 интерфейса
источник

AC

A C in PHP
а не проще делить интерфейсы по требованию?
источник

S

Shurick in PHP
A C
а не проще делить интерфейсы по требованию?
есть только 1 причина для коммита )
источник

AC

A C in PHP
ну я с такими коммитами под косарь в месяц и набираю
источник

AC

A C in PHP
напрягает
источник

A

Andrii in PHP
Sergey
2 интерфейса - это 2 обязанности?
Как напишешь)
источник

АГ

Алексей Гевондян... in PHP
php не задумывался как язык, на котором нельзя наговнокодить) поэтому и появились всякие SOLID, GRASP, PSR и прочее) а так на php можно даже битрикс сделать) что и сделали)
источник

АГ

Алексей Гевондян... in PHP
тем более что языку уже 25 лет. даже 5 лет назад все было сильно иначе чем сейчас. что уж говорить о том, что было 10 лет назад.
источник

S

Sergey in PHP
приведите плз 2 примера с классом который будет реализовывать два интерфейса:
1) и быть полностью SRP
2) не быть SRP
источник

А

Антон in PHP
Алексей Гевондян
php не задумывался как язык, на котором нельзя наговнокодить) поэтому и появились всякие SOLID, GRASP, PSR и прочее) а так на php можно даже битрикс сделать) что и сделали)
Солиды и граспы придумали для пхп?
источник

АГ

Алексей Гевондян... in PHP
открой код ларавела, и найди там какой-нибудь класс) да что далеко ходить.. SimpleXmlElement посмотри в пыхе какие интерфейсы реализуют
источник

АГ

Алексей Гевондян... in PHP
Антон
Солиды и граспы придумали для пхп?
не обязательно, но почему-то в пхп мире вокруг них очень много шума. это же не с проста, верно?
источник

А

Антон in PHP
Алексей Гевондян
не обязательно, но почему-то в пхп мире вокруг них очень много шума. это же не с проста, верно?
У тебя есть экспертиза в других языках для таких заявлений?
источник