Максим
Ну это если просто из модели функцию создавать. А я хочу все в сервисы засунуть и репозитории
обмазаться надо теми репозиториями) смысл колхозить это все, если сути не понимаешь, что как делать? лучше теорию сначала подтянуть, посмотреть от Елисеева по ООП видосы, например. А потом уже практиковаться
Максим
там всего десяток видео часов по 6-8😅
Anonymous
Имхо, репозитории - час теории
Anonymous
Это максимум
Anonymous
Там особо понимать нечего
Anonymous
У тебя есть абстракция, которая умеет работать с твоим хранилищем
Максим
для этого наверняка надо и другие концепции понимать
Максим
без практики и не поймешь до конца, теория одно, а когда руками делаешь другое
ну так надо знать, как делать. а если наугад тыкаться - мало толку выйдет
Anonymous
обмазаться надо теми репозиториями) смысл колхозить это все, если сути не понимаешь, что как делать? лучше теорию сначала подтянуть, посмотреть от Елисеева по ООП видосы, например. А потом уже практиковаться
Да все посмотрел уже. Хочу в контроллере подтянуть через DI сервис который будет производить оплату. У меня трудность что из какого сервиса логичнее делать. То есть либо пользователь -> плати, либо сервис-оплаты - прими платеж от пользователя.
Максим
я бы от пользователя плясал, он же действие производит. а оплата - уже побочный продукт
Anonymous
https://gist.github.com/shindakioku/881196fc6755c239666096335cd573ce
Anonymous
Делов то
Anonymous
🤔
Anonymous
там всего десяток видео часов по 6-8😅
Я в курсе и почти все видел кроме функционального и микросервисов. И платные курсы ооп покупал ( помогли). Вот теперь практикой занимаюсь
Anonymous
Ты можешь оба даже сделать
Anonymous
Если горишь желанием
Anonymous
Что то, что то - логично
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
А если будет потом кошелёк группы пользователей? То группа пользователей делает платеж?)))
Anonymous
И тогда уже поговорим
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Anonymous
Норм, корпоративный
У N юзеров один кошелек
Anonymous
> Норм
Anonymous
Если речь о том, что пользуются этим кошельком с одного и того же аккаунта разные люди - то, как бы прости, но я не вижу никакой связи 🤔 А если у тебя у троих людей один и тот же кошелек - это имхо, очень специфичный кейс
Anonymous
Не разу еще не видел этого в действие
Anonymous
В любом случае, пользователь будет покупать товар
Anonymous
А не группа пользователей
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Кошелек заводится на компанию а админы и участники могут меняться
Anonymous
Кошелек заводится на компанию а админы и участники могут меняться
Но покупает то какой-то определенный человек
Anonymous
Либо же, можно купить от компании
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Да но баланс принадлежит компании
Anonymous
Да но баланс принадлежит компании
Ну тогда покупка будет производится от компании
Anonymous
Логично же
Anonymous
Да и никто не запрещал, к примеру, сделать так $order->payment($user); Или же, вообще сделать $payment->pay($order, $user|$company);
Anonymous
Сам выбирай
Anonymous
А будет лучше, если $user->buy($order);
Вот этот вариант мне больше всего нравится. Но что тогда должен делать paymentservice? Хотя, наверное много чего: проверять успешная ли оплата, список платежей от конкретного пользователя, баланс, и так далее
Anonymous
А разве платежи принадлежат не пользователю?
Anonymous
Платежный сервис должен разрешать пользователю оплачивать через N сервис
Anonymous
А разве платежи принадлежат не пользователю?
Да я уже сам запутался кому и что тут принадлежит
Anonymous
То есть class User { public function buy(Order $order // Или dto, если не только заказы) { $price = $this->balance - $order->price; $payment->pay($this, $price, PaymentServices::VISA); } }
Anonymous
Я, правда, сомневаюсь насчет $this для pay
Anonymous
К примеру чета такое
Anonymous
Елисеев учил код писать так, как это выглядит в реальном мире: Отдел_кадров->найми_ сотрудника ($user) Ну и так далее. Просто мне опыта не хватает, чтобы эти вещи раскидать по правильным сервисам
Anonymous
Ну, смотри Пользователь умеет покупать товар Для покупки нужен товар, пользователь и выбранная платежная система У тебя создается заказ в базе, пользователь выбирает через что будет оплачивать и дальше оплачивает public function buy(Order $order, PaymentServices $service) { $this->payment->pay($service, $order->price); $order->status = OrderStatuses::WAITING; $this->orders->add($order); } Дальше у тебя должен все сделать платежный сервис После того как юзер оплатит заказ, у тебя на твой callback url будет перенаправлен юзер и все что тебе останется сделать, к примеру, - поменять статус заказы и выслать уведомления юзеру / еще кому-то
Anonymous
У тебя сервис оплаты в зависимости от выбранного сервиса должен разрулить все сам
Значит я ему даю пользователя, заказ который нужен оплатить. А что он там разруливать будет - формирует ссылку на оплату?
Anonymous
Если там так оплачивается
Anonymous
Можешь апи заюзать и дать ему форму
Anonymous
Ну, да
Ну тогда не вяжется с user-buy
Anonymous
Можешь апи заюзать и дать ему форму
Там требования к сайту жесткие в таких случаях. Поэтому можно и на стороне
Anonymous
Anonymous
Приводи пример
Значит userservice->buy должен внутри себя подтягивать сервис платежей. Так?
Anonymous
А что ему мешает это сделать?
Anonymous
А что ему мешает это сделать?
Но это будет правильным?
Anonymous
Но это будет правильным?
Можешь реализовать оплату полностью у юзера
Дмитрий
Добрый вечер
Anonymous
Если тебе скучно)
Дмитрий
как то можно лаконично и быстро найти минимальное значение например среди min_bid_price и узнать ключ в таком массиве
Anonymous
Можешь реализовать оплату полностью у юзера
В том и парадокс. Что сделать можно как угодно, главное знать конечные требования. Поэтому и спросил как лучше, чтобы потом не было больно
Дмитрий
Дмитрий
foreach
Дмитрий
перебором
Дмитрий
старым дедовским способом
Anonymous
Сортировка + array_shift ?🤔
Anonymous
Если у пхп нету ничего стандартного для этого
Дмитрий
вроде у yii2 есть сортировка там какаято в хелперах, ща гляну
Дмитрий
спасибо
Дмитрий
ага подошло, спасибо ещё раз !
Эмин
Чем плох подход указывать ссылки вида 'controller/action' вместо '/controller/index'?