Size: a a a

2021 December 28

ПГ

Павел Г. in symfony
Хорошо, спасибо, подумаю над этим :)
источник
2021 December 29

👤U

👤 User in symfony
А мне эта вот проблема кажется надуманой.
В скольки участках кода требуется смена пароля юзера?
2-3?
источник

ND

Nikolay Deriglazov in symfony
Представим, что я покупатель. Взаимодействую с кассиром. В реальной жизни интерфейс для взаимодействия с кассиром выглядит примерно так:

interface Cashier
{
   public function calculateCostOfBasketGoods(Basket $basket): float;

   public function acceptPayment(Money $sum): CheckAndChange;
}


Я, как покупатель, во время взаимодействия с кассиром не передаю ему сканер штрих-кодов, кассу и pos-терминал в момент взаимодействия ним. Я передаю ему корзину товаров, он озвучивает мне её стоимость. Я передаю ему деньги - он выдает мне чек и сдачу.

По логике из статьи, в метод calculateCostOfBasketGoods мне, как покупателю, по хорошему бы ещё передать сканер штрих-кодов. А в момент передачи суммы для оплаты - еще и кассовый аппарат или, в зависимости от метода оплаты - pos-терминал или QR-генератор.

Как-то криво на этот кейс ложится пример из статьи. По идее, у кассира все зависимости должны быть внедрены ещё до того, как он начнет обслуживать покупателей...
источник

v

voodoo in symfony
почему второй метод такой короткий? непонятно же ничего..
acceptPaymentFromACustomerWithABasket()
источник

MK

Mikhail Kobychev in symfony
Ну с точки зрения твоего кейса - передать в метод кассира кассу имеет смысл, так как в какой-то из моментов кассир действительно взаимодействует с кассой.  Кассир - это человек, работающий в магазине, который имеет доступ к кассе.
источник

MK

Mikhail Kobychev in symfony
Хотя я бы сделал по другому. Сделал бы команду Purchase и в метод execute передал бы весть контекст с продавцом, покупателем, кассой и продуктами.
источник

ND

Nikolay Deriglazov in symfony
Ну так и я о чем? Это не задача покупателя же.
источник

ND

Nikolay Deriglazov in symfony
Т.е. в момент взаимодействия с покупателем, все методы госиира должны быть в рабочем состоянии
источник

ND

Nikolay Deriglazov in symfony
Согласен, goods лишнее😊
источник

MK

Mikhail Kobychev in symfony
Ох, неправильно понял твой посыл. Я думал что ты против того чтоб продавец знал о кассе.
источник

ND

Nikolay Deriglazov in symfony
Да-да
источник

DA

Danil Alekseevich in symfony
Всем привет. Только начал работать с Symfony. Есть задача логировоть время выполнения kernel events(request,controller и т.д) Создал под каждый евент лисенер. Добавил методы onKernelRequest(например) в аргументы засунул RequestEvent, подключил в services.yml. А вот собственно как узнать время выполнения евента? :)
источник

АЯ

Андрей Ява in symfony
В дебагере?
источник

DA

Danil Alekseevich in symfony
Нет, в профайле я вижу. Но мне надо сделать логирование для прода, бывают аномально долгие операции и хочется понять на каком евенте это происходит. На локалке этих аномалий нет
источник

MK

Mikhail Kobychev in symfony
Sentry performance . Если не изменяет память он замеряет это дело
источник

DA

Danil Alekseevich in symfony
Вот я создал Listener и собственно в сообщение надо ещё добавить время выплнения
источник

DA

Danil Alekseevich in symfony
Спасибо, сейчас чекну
источник

A

AZA in symfony
Либо с помощью pinba
источник

DA

Danil Alekseevich in symfony
это же профилировщик?
источник

DA

Danil Alekseevich in symfony
Да там CI CD не очень. Без докера. Всё ручками делается и только админами, пока их дождешься... Поэтому думал может как то средствами пхп и самой симфони сделать можно
источник