@symfony_php

Страница 447 из 1418
Константин
04.12.2017
20:42:01
до ес я пока не дошел, оч интересно, но потом

Sergey
04.12.2017
20:42:38
по поводу бронирования/резервации товаров - пожалуй тут лучше самому

Google
Ruslan
04.12.2017
20:42:42
Хотя как оплачивать тоже проблема (учитывая 53-ФЗ), или счет или сервис по картам

Sergey
04.12.2017
20:42:43
можешь symfony/lock заюзать)

Ruslan
04.12.2017
20:43:45
если счет - то ручками заносить на баланс. если карты - то авт. транзакции

Константин
04.12.2017
20:48:09
по поводу бронирования/резервации товаров - пожалуй тут лучше самому
Я там что-то родил, вроде даже работает. Уже даже забыл как. Но как то выглядит это всё не айс. Например есть кейс - найти дефицит товаров. Это калькуляция из: 1) требуемых товаров по открытым заказам; 2) Зарезервированным; 3) Наличие на складе; 4) Ожидающихся к поставке. Я это решил пока в лоб вот таким "оптимизированным" запросом https://github.com/automagistre/automagistre/blob/master/src/Manager/PartManager.php

Как эту историю со складом архитектурно разложить не могу найти решения

Sergey
04.12.2017
20:49:39
array_filter(explode(',', $item['orders_id']), 'strlen') можно заменить на array_filter(explode())

Константин
04.12.2017
20:50:24
Так хочу проще, но не знаю как)

Как говорил Калашников - Сделать сложно, проще чем сделать просто)

Sergey
04.12.2017
20:51:40
Так хочу проще, но не знаю как)
это вникать надо, лень

чёт не понял
если ты не передаш fn вторым аргументом, он по дефолту будет скипать все значения которые посчитает пустыми

Константин
04.12.2017
20:52:34
хм

Google
Sergey
04.12.2017
20:52:49
единственный минус - значения типа 0 оно тоже может за пустоту посчитать.

а strlen пропустит

ну это из нюансов

Константин
04.12.2017
20:53:22
Там id, там 0 не будет

Я возможно там вообще зря делаю getReference. Этот объект потом только для генерации ссылки используется

Sergey
04.12.2017
20:54:42
https://github.com/automagistre/automagistre/blob/master/src/Manager/PartManager.php#L88-L92

оно ж ничего не делает

Константин
04.12.2017
20:55:40
Возможно это попытка сократить 100500 запросов lazy load'a, хз, я уже всё забыл)

Sergey
04.12.2017
20:55:45
+ непонятно зачем тебе потом в php что-то делать, запихнул бы это в еще один сабселект)))

Sergey
04.12.2017
20:56:43
ну я так понял что да, ты юзаешь identity map как кэш

и что бы упростить гидрацию

аля eager лоад

но это ж не резервирование - это похоже на репорт дицицитных запчастей

Константин
04.12.2017
20:57:30
да, он и есть

Sergey
04.12.2017
20:58:26
почему ж он менеджером зовется) если это репорт

Константин
04.12.2017
20:59:00
Репорт - звучит уже как результат, а не то что его ищет

Я не понимаю как выглядит правильная реазация склада и резервирования. Правильная в том плане, чтобы вот такие задачи как поиск дефицита решались более читаемо и поддерживаемо

Google
Константин
04.12.2017
21:06:55
Как оно устроено в реальной жизни мне примерно понятно, а вот как отразить в коде не всегда понятно)

Ещё доставляет хлопот тот факт, что в автосервисе привыкли работать костыльно, подстраиваясь под возможности первой реализации приложения

Или просто используют инструменты не по назначению, просто потому что им так удобнее

@fes0r о, вот вопрос. Как ты считаешь, как лучше реализовывать статус заказа? Вводить поле статус и выставлять значения по событиям, или обсчитывать реалтайм?

Второй вариант конечно затруднителен в плане поиска

Константин
04.12.2017
21:11:54
например?)

Константин
04.12.2017
21:12:36
а как это обсчитывать реалтайм?
На основе текущего стейта заказа.

Sergey
04.12.2017
21:13:54
например?)
я люблю обмазываться доменными событиями и разделять все и вся

а еще - я не люблю менеджеры и люблю ООП

Константин
04.12.2017
21:14:24
Заказ без позиций - новый заказ Заказ в позициях которого есть заказанные запчасти - Ожидает доставки запчастей Все позиции в наличии, но нет даты приезда автомобиля - Ожидает записи клиента и тд

Константин
04.12.2017
21:16:32
а еще - я не люблю менеджеры и люблю ООП
Нам нужны примеры билли https://i.ytimg.com/vi/N2nCoYCs0s4/maxresdefault.jpg

Константин
04.12.2017
21:17:09
Без примеров иногда как без мозгов, к сожалению

Sergey
04.12.2017
21:17:10
это ж надо придумывать задачи

Google
Alan
04.12.2017
21:17:14
а если делать статус объектом? с поведением - чтоб статус знал можно ли в него двигать

Sergey
04.12.2017
21:17:25
а так то что ты описал - это паттерн State

простой конечный автомат)

Alan
04.12.2017
21:17:41
а доменные события чем реализуются?

Константин
04.12.2017
21:17:44
это ж надо придумывать задачи
Можешь в мою репу закоммитить))

Alan
04.12.2017
21:17:58
опенсорс )))

Sergey
04.12.2017
21:18:32
а доменные события чем реализуются?
ну смотри, кто-то что-то сделал, это "что-то" генерит ивент что мол "вот что-то произошло". Ивенты файрятся по завершению бизнес транзакции. Ты можешь на них подписаться и что-то сделать, даже запустить новую бизнес транзакцию.

Alan
04.12.2017
21:18:57
евент диспатчером такое норм делать?

Борис
04.12.2017
21:19:06
Чет я разворачиваю sf4 с нуля и у меня горит - я чувствую себя ларавель девом - выполняю скрипты, не понимая, что происходит - и все работает.... С одной стороны - круто, с другой ну хз. Раньше было лампово, чтоли ^_^

Admin
ERROR: S client not available

Борис
04.12.2017
21:20:01
ну с 2.7 много чего (последнюю юзал)

Борис
04.12.2017
21:20:07
ГЫ )))

да

Вообще, подскажите, как посмотреть все пакеты, доступные командой composer req *** ?

Google
Константин
04.12.2017
21:20:32
придешь в субботу?)
Там примеры будут? Куда ехать?)

Sergey
04.12.2017
21:20:52
Там примеры будут? Куда ехать?)
там будут пространные речи о том как надо делать дела

Борис
04.12.2017
21:20:57
composer search
но ведь search ищет в пэкеджисте, все пакеты. А мне бы вот эти модные - с одного слова

Борис
04.12.2017
21:21:36
https://github.com/symfony/recipes
Ага, выглядит правдоподобно. Пойду полистаю

Константин
04.12.2017
21:22:38
Кто нибудь phpunit юзает версии 6.5+ ?

Sergey
04.12.2017
21:23:09
Кто нибудь phpunit юзает версии 6.5+ ?
хз, он чем-то отличается от 6.0+?

Константин
04.12.2017
21:23:14
Я обновился с 6.4 на 6.5 и у меня упали тесты

Константин
04.12.2017
21:23:52
В одном из моков по интерфейсу перестал реализовываться один метод. php падает на этапе компиляции

Alan
04.12.2017
21:24:30
или его на уровне приложения лучше использовать а для доменной логики что то отдельное?

Sergey
04.12.2017
21:26:03
тут не важно чем эти эвенты сделаны и event dispatcher норм ?
важно что бы это были не просто ивенты а факты что что-то уже произошло и оно никуда не денется

Maxim
04.12.2017
21:28:19
Привет! Осваиваю symfony. Делаю doctrine:database:create , но не могу повлиять на collate и charset. Всегда имею latin. Что я делаю неправильно? doctrine: dbal: driver: pdo_mysql ... default_table_options: charset: utf8 collate: utf8_unicode_ci

Maxim
04.12.2017
21:29:45
хочу utf8 для сравнения строк и нормального отображения латинницы У меня создается db c параметрами latin

Alan
04.12.2017
21:30:44
default_TABLE_options

таблички то потом создаются как надо симфой?

https://symfony.com/doc/3.3/doctrine.html

[mysqld]

хотя наверно достаточно добавить charset: utf8 внутри dbal

Ruslan
04.12.2017
21:33:54
Извините, что вмешиваюсь! А можно вопрос, честно новичек в symfony! Директории: 1. EventListener - тут я слушаю события системные (те что есть) или которые создал, выполняю действия 2. Event - тут я создаю свои события 3. Listener - ? 4. Service - тут пишу бизнес логику, вызываю в контроллере Я правильно все понимаю?

Maxim
04.12.2017
21:34:53
хотя наверно достаточно добавить charset: utf8 внутри dbal
вот это и не работает у меня. Делаю как в доке, но наверно у меня что-то не так Остается менять настройки [mysqld]

Страница 447 из 1418