fannypack/ledger
Composer 安装命令:
composer require fannypack/ledger
包简介
ledger implementation for laravel
README 文档
README
This is a simple/basic implementation of a ledger in laravel 5
Actions supported
- RECORDING DEBITS
- RECORDING CREDITS
- BALANCE COMPUTATION
Installation
git clone https://github.com/mpaannddreew/laravel-ledger.git
Register service provider
FannyPack\Ledger\LedgerServiceProvider::class,
Register Facade Register service provider
'Ledger' => FannyPack\Ledger\Facades\Ledger::class,
After the service provider is registered run this command
php artisan vendor:publish --tag=ledger
Run migrations
php artisan migrate
This command will copy the library's vue components into your codebase
Register package routes in your app's RouteServiceProvider
Ledger::routes();
Usage
Using it with your models, add
namespace App; use FannyPack\Ledger\Traits\Ledgerable; use Illuminate\Database\Eloquent\Model; class Account extends Model { use Ledgerable; }
Show available balance
$account = Account::find(1); $balance = Ledger::balance($account);
or
$account = Account::find(1); $balance = $account->balance();
Record a credit entry
$account = Account::find(1); Ledger::credit($account, $to, $amount, $reason);
or
$account = Account::find(1); $account->credit($to, $amount, $reason);
Record a debit entry
$account = Account::find(1); Ledger::debit($account, $from, $amount, $reason);
or
$account = Account::find(1); $account->debit($from, $amount, $reason);
Recording debits and credits in one transaction
$account = Account::find(1); $account2 = Account::find(2); $account3 = Account::find(3); Ledger::transfer($account, [$account2, $account3], $amount, $reason); // or Ledger::transfer($account, $account2, $amount, $reason); Ledger::transfer($account, $account3, $amount, $reason);
or
$account = Account::find(1); $account2 = Account::find(2); $account3 = Account::find(3); $account->transfer([$account2, $account3], $amount, $reason); // or $account->transfer($account2, $amount, $reason); $account->transfer($account3, $amount, $reason);
Retrieving all entries of a ledgerable
$account = Account::find(1); $entries = $account->entries();
Retrieving all debits of a ledgerable
$account = Account::find(1); debits = $account->debits();
Retrieving all credits of a ledgerable
$account = Account::find(1); debits = $account->credits();
Using the provided Ledger.vue component in your blade templates
<ledger></ledger>
Bugs
For any bugs found, please email me at andrewmvp007@gmail.com or register an issue at issues
fannypack/ledger 适用场景与选型建议
fannypack/ledger 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 286 次下载、GitHub Stars 达 30, 最近一次更新时间为 2017 年 09 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「library」 「laravel」 「ledger」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 fannypack/ledger 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 fannypack/ledger 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 fannypack/ledger 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Inbox pattern process implementation for your Laravel Applications
Core library that defines common interfaces used by the rest of the intahwebz..
Amqp classes
Provides command to manage a web library directory
Alfabank REST API integration
CakePHP Bitly Plugin
统计信息
- 总下载量: 286
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 31
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-09-11