Максим
там всего десяток видео часов по 6-8😅
Anonymous
Имхо, репозитории - час теории
Anonymous
Это максимум
Anonymous
Там особо понимать нечего
Anonymous
У тебя есть абстракция, которая умеет работать с твоим хранилищем
Ruslan
Максим
для этого наверняка надо и другие концепции понимать
Максим
Anonymous
Максим
я бы от пользователя плясал, он же действие производит. а оплата - уже побочный продукт
Anonymous
https://gist.github.com/shindakioku/881196fc6755c239666096335cd573ce
Anonymous
Делов то
Anonymous
🤔
Anonymous
там всего десяток видео часов по 6-8😅
Я в курсе и почти все видел кроме функционального и микросервисов. И платные курсы ооп покупал ( помогли). Вот теперь практикой занимаюсь
Anonymous
Anonymous
Ты можешь оба даже сделать
Anonymous
Anonymous
Если горишь желанием
Anonymous
Что то, что то - логично
Anonymous
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
А если будет потом кошелёк группы пользователей? То группа пользователей делает платеж?)))
Anonymous
Anonymous
И тогда уже поговорим
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Anonymous
> Норм
Anonymous
Если речь о том, что пользуются этим кошельком с одного и того же аккаунта разные люди - то, как бы прости, но я не вижу никакой связи 🤔
А если у тебя у троих людей один и тот же кошелек - это имхо, очень специфичный кейс
Anonymous
Не разу еще не видел этого в действие
Anonymous
В любом случае, пользователь будет покупать товар
Anonymous
А не группа пользователей
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Кошелек заводится на компанию а админы и участники могут меняться
Anonymous
Anonymous
Либо же, можно купить от компании
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Да но баланс принадлежит компании
Anonymous
Логично же
Anonymous
Да и никто не запрещал, к примеру, сделать так
$order->payment($user);
Или же, вообще сделать
$payment->pay($order, $user|$company);
Anonymous
Anonymous
Сам выбирай
Anonymous
А будет лучше, если
$user->buy($order);
Вот этот вариант мне больше всего нравится. Но что тогда должен делать paymentservice? Хотя, наверное много чего: проверять успешная ли оплата, список платежей от конкретного пользователя, баланс, и так далее
Anonymous
А разве платежи принадлежат не пользователю?
Anonymous
Платежный сервис должен разрешать пользователю оплачивать через N сервис
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
Если там так оплачивается
Anonymous
Можешь апи заюзать и дать ему форму
Anonymous
Ну, да
Ну тогда не вяжется с user-buy
Anonymous
Anonymous
Приводи пример
Значит userservice->buy должен внутри себя подтягивать сервис платежей. Так?
Anonymous
А что ему мешает это сделать?
Anonymous
Дмитрий
Добрый вечер
Anonymous
Если тебе скучно)
Дмитрий
как то можно лаконично и быстро найти минимальное значение например среди min_bid_price и узнать ключ
в таком массиве
Дмитрий
Anonymous
Дмитрий
foreach
Дмитрий
перебором
Дмитрий
старым дедовским способом
Anonymous
Сортировка + array_shift ?🤔
Anonymous
Если у пхп нету ничего стандартного для этого
Дмитрий
вроде у yii2 есть сортировка там какаято в хелперах, ща гляну
Дмитрий
спасибо
Дмитрий
Дмитрий
ага подошло, спасибо ещё раз !
Эмин
Чем плох подход указывать ссылки вида 'controller/action' вместо '/controller/index'?
Ceyhun