
Sergey
06.07.2018
11:45:18
кстати интересно сколько людей ADR пользуется

F01134H
06.07.2018
11:45:42
американской депозитарной распиской?

Sergey
06.07.2018
11:45:56
Action-Domain-Responder

Sergey
06.07.2018
11:45:58

Google

Sergey
06.07.2018
11:46:08
я тоже в свое время купился
до тех пор пока у тебя Экшен знает про респондер - хуита
ну и в целом этот pmjones хуй тот еще

Maksim
06.07.2018
11:46:49
я даже хз чё эт такое) но если учесть, что Сергей так резко даже о юи не отзывается, не потерял ничего)

Sergey
06.07.2018
11:46:51
типичный консалтинг

Sergey
06.07.2018
11:47:16
хм... Джонс вроде над некоторыми PSR работал

f4rt~
06.07.2018
11:47:34
Гайз, есть конкретный контекст, который хотелось бы обсудить, дабы получить чуть более ясности;
В целом все ниже, хотелось бы обсуждать ни с архитектурной точки зрения, а с контекста формального доказательства корректности программы, соблюдение её инвариантов и LSP;
Собственно контекст выглядит ~ так:
Есть некий базовый класс для консьюмеров, это обертка над symfony command закрытая своим интерфейсом, она явно определяет 2 зависимости которые будут использованны в дочерних классах, это logger и объект коннекшена;
1) Можно ли сказать, что в текущем контексте инварианты родительского класса, а так же соблюдение LSP в том, что все потомки знают и умеют в Коннекшн/Logger (интерфейсы офк)
Я постараюсь как-то дальнейшие вопросы формулировать исходя из контекста, к которому мы придем в процессе обсуждения
ping @fes0r

Maksim
06.07.2018
11:48:46
оффтоп: объект коннекшена queue. Блин, да не queue это, а коннект) а консамер подписывается на queue)

f4rt~
06.07.2018
11:48:58
ты прав)
поправил чуть, только что был тимтолк голова забита очередными проблемами и правками)

Maksim
06.07.2018
11:49:41
коннект в конструктор, в метод listen(Queue $queue)

Sergey
06.07.2018
11:50:44
это ж пиздец

Google

f4rt~
06.07.2018
11:51:15
меня исходя их этого вопроса интересует вот такая с-ция, каждый дочерний класс получается будет юзать:
parent::__construct передавая туда зависимости родителя и объявляя свои дополнительно
~ вот так:

Sergey
06.07.2018
11:51:27
ну и да - в этих PSR есть проблемные места которые никто не может объяснить. Там жеж срачи жесткие были, они там разделились несколько раз, короч так себе авторитеты

Maksim
06.07.2018
11:51:43
prent::__constructor - имхо херь

f4rt~
06.07.2018
11:51:47
но мы придерживаемся контекста, не забывай

Sergey
06.07.2018
11:52:04
хм....

F01134H
06.07.2018
11:52:04
мне кажется у тебя там слишком много инъекций на один квадратный конструктор
(оффтоп)


Sergey
06.07.2018
11:52:25
Гайз, есть конкретный контекст, который хотелось бы обсудить, дабы получить чуть более ясности;
В целом все ниже, хотелось бы обсуждать ни с архитектурной точки зрения, а с контекста формального доказательства корректности программы, соблюдение её инвариантов и LSP;
Собственно контекст выглядит ~ так:
Есть некий базовый класс для консьюмеров, это обертка над symfony command закрытая своим интерфейсом, она явно определяет 2 зависимости которые будут использованны в дочерних классах, это logger и объект коннекшена;
1) Можно ли сказать, что в текущем контексте инварианты родительского класса, а так же соблюдение LSP в том, что все потомки знают и умеют в Коннекшн/Logger (интерфейсы офк)
Я постараюсь как-то дальнейшие вопросы формулировать исходя из контекста, к которому мы придем в процессе обсуждения
ping @fes0r
есть ли у этих классов именно состояние, не зависимости а состояние.
ибо если нет - то нет смысла говорить об инваиантах


Sergey
06.07.2018
11:52:40
PSR - это рекомендации а не свод четких правил, что-то вроде best practices

f4rt~
06.07.2018
11:52:48

Maksim
06.07.2018
11:52:55

Sergey
06.07.2018
11:53:03

Sergey
06.07.2018
11:53:11
а про 1 entity на документ я правильно понимаю про 1 документ на 1 класс?

F01134H
06.07.2018
11:53:49

Sergey
06.07.2018
11:53:53

Sergey
06.07.2018
11:54:02
Максим, не путайте PSR совместимые автозагрузчики и все возможные

Sergey
06.07.2018
11:54:03

Google

Sergey
06.07.2018
11:54:16

F01134H
06.07.2018
11:54:32

Maksim
06.07.2018
11:54:43
и что нюхаешь

f4rt~
06.07.2018
11:54:57
собственно вопросы 2,3
Что выше есть инвариант
Что относится непосредственно к LSP
Каковы пред.и пост условия для данного случая

Sergey
06.07.2018
11:55:06
композер предоставляет PSR совместимый загрузчик, он не запрещает добавлять свои автозагрузчики

F01134H
06.07.2018
11:55:08

Sergey
06.07.2018
11:55:35
и пробросить в цепочку загрузчиков

Maksim
06.07.2018
11:55:55

Sergey
06.07.2018
11:55:59
меня больше возмущает что ну нет никаких толковых объяснений почему так решили

Sergey
06.07.2018
11:56:00
поэтому PSR это набор рекомендаций
как почему? опыт

Sergey
06.07.2018
11:56:19
я не нашел дискуссий на эту тему - просто самодурство. Как и с PSR-7 местами и с PSR-12

Sergey
06.07.2018
11:56:54
частично и она самая

F01134H
06.07.2018
11:56:57

Sergey
06.07.2018
11:57:00
или оптимизация навигации по проекту для людей которые пишут в notepad++

F01134H
06.07.2018
11:57:09
но на самом деле, с каким то стандартом проще, чем без

Google

F01134H
06.07.2018
11:57:25
особенно когда еще не научился думать правильно

Sergey
06.07.2018
11:57:29
в любом случае лучше с ней, чем отсутствие стандарта для людей у кого проблемы со вкусами

Sergey
06.07.2018
11:57:38
так то да, просто в композер кастомные настраиваемые загрузчики подвести как плагины

Maksim
06.07.2018
11:58:05
чувствую маджентой запахло

Sergey
06.07.2018
11:58:36
хм... в любом случае по большей части я согласен с PSR и совместимо пытаюсь писать

Maksim
06.07.2018
11:59:05
там тоже чеин лоадер, удобно пользоваться и легко понимать что и каким боком аще подключается)

F01134H
06.07.2018
11:59:44
собсна и большинство spellchecker'ов тоже согласны с ПСР во всяких travis и scrutinizer, поэтому особо выбирать не приходится

Sergey
06.07.2018
11:59:49
а вообще я не сильно понял наезд на ADR
в MVC контроллер тоже знает о view и что то в него камнями не кидаются за это

F01134H
06.07.2018
12:01:14
можно начать с того, что - с чего ты взял, что не кидаются

Admin
ERROR: S client not available

Sergey
06.07.2018
12:01:37
хм...
вообще у меня тоже проблемы с этим делом, например контроллеры совсем миниатюрными получаются

Sergey
06.07.2018
12:05:05
особенно сильно буду ругаться в людей которые будут говорить что MVC или ADR это архитектура

F01134H
06.07.2018
12:07:38
?

Maksim
06.07.2018
12:08:31
кстати, за mvc впервые услышал за последние года полтора, наверное)
чёт хайп на нет сошёл

Sergey
06.07.2018
12:09:19
ну хайп по MVC был в 2008-ом где-то

Google

Sergey
06.07.2018
12:09:29
когда до СНГ рельсы добрались

Maksim
06.07.2018
12:09:54
рельсы чёт там же, где и мвс)

Sergey
06.07.2018
12:09:59
это паттерн =_="

Sergey
06.07.2018
12:11:14
обычно люди на этом месте сыпятся
и в чем смысл паттерна по твоему?

Sergey
06.07.2018
12:12:03
модель - обьектное представление сущностей из бд насколько я понимаю

Sergey
06.07.2018
12:12:19
предположим что у нас нет БД, PHP приложение крутится как демон и весь стэйт в оперативке. Что бы упростить концепт

Sergey
06.07.2018
12:12:56
вообще подразумевают бизнес логику

Sergey
06.07.2018
12:13:03
какие еще есть виды логик?
потом следующий вопрос - что такое View

Maksim
06.07.2018
12:14:05
почему если модель, то обязательно данные?

DK
06.07.2018
12:14:20
https://toster.ru/q/531905
Как можно это реализовать?
В моей голове 6 вложенных условий(if внутри if итд)..

Sergey
06.07.2018
12:14:30
если нет бд, подразумевается то, что ее замещает
тот же sqlite, текстовые файлы, память

Maksim
06.07.2018
12:15:36
а если мне не нужно сохранять никакие данные, но хочу модели?)

Sergey
06.07.2018
12:16:40
бизнес логика очень упрощенно, это когда ты тыкаешь купить на сайте, а тебе приходит инвойс на почту, в базе создается заказ и отправляется менеджеру и еще куча всего. этого плана

Sergey
06.07.2018
12:16:53
так что нет - не подразумевается. Более того, возможно суть приложения - данные вошли, что-то посчитали и выплюнули
то есть даже стэйта нет

Maksim
06.07.2018
12:17:23
так мы всё же про доменную модель, или сущность доктриновскую?)