
Max
18.12.2017
09:25:04
хм, а что тогда нужно изменить чтобы было сагой
?

Maksim
18.12.2017
09:25:06
я как-то привык сагу воспринимать, как транзакцию. Единое целое, если угодно.
завершилась - всё ок. Завершилась фейлом - всё ок, откатываем. В процессе? ждём пока завершится.

Sergey
18.12.2017
09:25:10
каждый стэп в целом независимый.... ты можешь добраться до создания аккаунта но не активировать его и жить себе спокойно пару месяцев

Google

Bohdan
18.12.2017
09:25:15
мне кажется, Макс пытается сделать то, что и я делал - свести весь флоу в одно место

Sergey
18.12.2017
09:25:38
это просто последовательность

Bohdan
18.12.2017
09:26:12
не спорю, у меня та же фигня :D

Sergey
18.12.2017
09:26:17
ты уже после первых двух этапов можешь например в суппорт писать
ну то есть ты не обязан до конца доходить

Max
18.12.2017
09:28:51
но все же вопрос на счет Process Manager остался, есть ли смысл выделять сервис для оркестрации всех этих процессов

Bohdan
18.12.2017
09:29:36
но если брать реализацию саг Максима - то они тоже не обязательно доходят до конца сразу (и теоретически могут существовать в промежуточном состоянии)
тут опять упираемся в сагу в качестве стейт машины

Sergey
18.12.2017
09:29:48

Max
18.12.2017
09:29:51
и таким образом инкапсулировать все в одном месте и не размазывать по всем контекстам (проекту)

Maksim
18.12.2017
09:30:10
могут. Их можно по разному юзать, но здравый смысл никто не отменял)

Google

Max
18.12.2017
09:30:11
там он не нужен от слова совсем
ну то есть не сам воркфлоу, а компонент

Sergey
18.12.2017
09:30:53
ну значит и саги не нужны)

Bohdan
18.12.2017
09:31:34
так у воркфлоу фигня в том, что он стейт хранит в одной сущности, у него нет размазанного стейта

Sergey
18.12.2017
09:31:52

Maksim
18.12.2017
09:31:59
так и у меня стейт только текущий хранится

Bohdan
18.12.2017
09:32:12
я в плане того, что стейт может охватывать не только одну сущность

Sergey
18.12.2017
09:32:23
это не будет нарушать границы контекста
STATE_WATING_CONFIRMATION, STATE_WAITING_PAYMENT_ACCOUNT

Max
18.12.2017
09:33:03

Sergey
18.12.2017
09:33:36
ну то есть у тебя и так есть одна сущность которая будет знать правила перехода по стэйтам

Maksim
18.12.2017
09:35:12
вариант со статусами ближе к правде, имхо

Max
18.12.2017
09:58:04
@fes0r
//SomeAction
$workflow = $this->get("state_machine.orders");
if (!$workflow->can($order, 'some_transition')) {
throw new Exception();
}
$order->doSomeAction($someArgs);
$workflow->apply($order, 'some_transition');
это что мне не нравится
в идеале сделать так
$order->doSomeAction($someArgs);

Sergey
18.12.2017
09:58:32
ну оно и понятно ибо для ордеров тебе как раз таки саги нужны
ибо там каждое действие - это как раз таки транзакция
оно не может "зависнуть" навсегда

Max
18.12.2017
10:00:20
а кому еще нужно знать про форклоу кроме ордера?

Google

Max
18.12.2017
10:00:27
если думать в рамках саг

Александр
18.12.2017
10:23:46
Ребятки
накидайте различных групп в телеге что бы по порграммированию или по CMS различным
или по дизайну

Andrey
18.12.2017
10:26:08
welcome

Maksim
18.12.2017
10:26:34
друпалер..) обидно как-то звучит)

Александр
18.12.2017
10:26:51

Bohdan
18.12.2017
10:47:29
Привет всем! Такой вопрос... Id пользователя в соц сети у всех соц сетей постоянный, или некоторые используют временные id-шники? Интересует instagram, google, facebook, twitter

Max
18.12.2017
10:56:10
а кто работает с PHPSpec? а как вообще идея того чтобы хранить спеки рядом с классами которые они покрывают? Например в одном каталоге: Product и ProductSpec, Category и CategorySpec - ?
Типо как в ангулярах

Sergey
18.12.2017
11:05:28
в целом мне идея нравится
в java например идея "хранить тесты отдельно" в целом понятна
а в php - не очень

Andrew
18.12.2017
11:06:14

Sergey
18.12.2017
11:07:07
тоже ризонно

Roman
18.12.2017
12:00:42
Ребят, вы юзаете declare(strict_types=1) ?

Ivan
18.12.2017
12:03:02

Roman
18.12.2017
12:04:25
до
Чувствуете ли ощутимый эффект при дебаге?

Ivan
18.12.2017
12:04:43
а при чем тут дебаг?

Maksim
18.12.2017
12:12:58
А есть те, кто не юзает?)

Bohdan
18.12.2017
12:13:15
.....я

Sergo
18.12.2017
12:13:22

Google

Bohdan
18.12.2017
12:13:34
но! все потому, что проект переведен с 5.6 и могут всплыть бяки
думаю использовать в новых файлах только

Roman
18.12.2017
12:14:07
в каком случае его лучше не юзать?

Maksim
18.12.2017
12:14:22
Фу такими быть))

Roman
18.12.2017
12:14:26
или лучше везде по возможности?
ну я еще не юзаю, да, сорян :\

Maksim
18.12.2017
12:14:49
Минусов нет, а шкуру иной раз спасти сможет :)

Admin
ERROR: S client not available

Roman
18.12.2017
12:17:06

Like
18.12.2017
12:20:16

Maksim
18.12.2017
12:25:44
Я не стану расписывать чем строгий режим лучше. Это как бы совсем грустно

Like
18.12.2017
12:25:56
А причем здесь это?
> шкуру иной раз спасти сможе
Например

Maksim
18.12.2017
12:26:48

Like
18.12.2017
12:27:25
Хм...
Ты пишешь "шкуру иной раз спасти может", я пишу "например", а ты такой резко " я не стану раписывать чем строгий режим лучше"

Maksim
18.12.2017
12:28:45
Ну потому, что это глупо. Я не вижу никакого смысла обсужать то, почему интерпритатору нельзя давать додумывать.

Like
18.12.2017
12:29:26
Да боже, причем здесь вообще это?
Приведи пример, когда оно тебе "шкуру" спасало

Google

Maksim
18.12.2017
12:32:38
Сторонний код/не закрытый тестами, на результаты которого мы надеемся. В любом проекте минимальный факап стоит дохера денег. Ну если ток не какой-нить сраный битрикс/маджента) где в принципе насрать.
И, да, всё, что я написал ранее - при том.

Like
18.12.2017
12:33:22
Я перестал тебя понимать

Maksim
18.12.2017
12:33:37
Если ты ожидаешь от функцит возврат статуса 0, а прилетает '0' - код не работает
И не поймёшь, судя по всему)

Like
18.12.2017
12:34:34
Если ты можешь использовать declare(strict_types=1), то можешь позволить себе и
public function name(): int {}
В чем проблема? :)

Maksim
18.12.2017
12:35:47
Судя по всему в том, что читать кое кто не научился)

Like
18.12.2017
12:36:02
Возможно :)

?
18.12.2017
12:36:04
?

Like
18.12.2017
12:36:06
Но сути это не изменит
Ты говоришь о типах
Если ты будешь использовать type hinting и у тебя будет int, то тебе не вернется '0'

Maksim
18.12.2017
12:36:38
Гениально

Like
18.12.2017
12:36:46
Бывает

Sergey
18.12.2017
12:37:31

Maksim
18.12.2017
12:37:43
Ты так и не понял куда влез, да?)

Sergey
18.12.2017
12:38:11
смысл строго режима в том что бы компайл тайм вывод типов не отличался от рантайма. А так как все это работает на уровне отдельного файла - у тебя есть гибкость.
в проектах я не вижу смысла в strict types хотя в отдельных модулях толк будет

Like
18.12.2017
12:38:45