ivanaquino / laravel-credithub
这是我创建的laravel-credithub包
0.1.0
2024-08-24 04:07 UTC
Requires
- php: ^8.2
- illuminate/contracts: ^10.0||^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
README
开发中
这里应该放置您的描述。限制在一到两段话。可以考虑添加一个小例子。
支持我们
我们投入大量资源来创建最佳的开放源代码包。您可以通过购买我们的付费产品之一来支持我们。
我们非常感激您从家乡寄给我们明信片,并注明您使用的是哪个包。您可以在我们的联系方式页面上找到我们的地址。我们将发布所有收到的明信片在我们的虚拟明信片墙上。
安装
您可以通过composer安装此包
composer require ivanaquino/laravel-credithub
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --tag="credithub-migrations"
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="credithub-config"
这是已发布配置文件的内容
return [ 'type_field' => 'string', ];
使用方法
您必须在模型中实现HasCredits契约并使用CreditTransactional特质。
// ... use IvanAquino\LaravelCredithub\Contracts\HasCredits; use IvanAquino\LaravelCredithub\Traits\CreditTransactional; class User extends Model implements HasCredits { use CreditTransactional; } // ...
现在您可以使用以下方法
$user = User::find(1); # Add credits $user->addCredits(100); $user->addCredits(100, 'Bonus'); $user->addCredits(100, 'Bonus', ['my_custom_field' => 'my_custom_value']); # Subtract credits $user->subtractCredits(100); $user->subtractCredits(100, 'Withdraw'); $user->subtractCredits(100, 'Withdraw', ['my_custom_field' => 'my_custom_value']); # Transfer credits $user->transferCreditsTo(100, $anotherUser); $user->transferCreditsTo(100, $anotherUser, 'Transfer'); $user->transferCreditsTo(100, $anotherUser, 'Transfer', ['my_custom_field' => 'my_custom_value']); # Get credits $user->credit_balance; // integer $user->has_credits; // true or false
您可以将CreditTransaction模型的类型字段转换为所需的任何类型,例如
return [ 'type_field' => \App\Enums\CreditTransactionType::class, ];
use \App\Enums\CreditTransactionType; $user = User::find(1); # Add credits $user->addCredits(100, CreditTransactionType::BONUS);
测试
composer test
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全漏洞
请查阅我们的安全策略了解如何报告安全漏洞。
贡献者
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。