voovke /loan-payments-calculator
PHP支付计划计算库,使用各种策略和配置。
1.0
2017-09-07 12:53 UTC
Requires
- php: >=5.6.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.3
- phpmd/phpmd: ^2.6
- phpunit/phpunit: ^5.7 || ^6.0
- squizlabs/php_codesniffer: ^2.8
This package is not auto-updated.
Last update: 2024-09-21 15:48:25 UTC
README
LoanPaymentsCalculator 是一个面向程序员的 PHP 库。它旨在为各种输入和策略提供贷款还款计划。主要针对短期贷款开发,但也适用于其他贷款类型。
安装
您可以使用 Composer 下载并安装 LoanPaymentsCalculator 及其依赖项。
$ composer require vovke/loan-payments-calculator
标准
所有日期都符合 ISO 8601
标准,格式为 Y-m-d
(YYYY-MM-DD)。
组件
DateProvider
我们使用它来提供符合特定规则的最接近日期,例如“月初”、“非银行假日”等。
dateProvider = new DateProvider(DateDetermineStrategy, HolidayProvider, shiftToFuture = true)
dateProvider->calculate( startDate )
HolidayProvider
一个用于检查特定日期是否为银行假日的接口。用于 period
中的 Schedule
计算。
Period
Period
类用于提供所需时间段的表示对象,包含特定期间的开始和结束日期以及两者之间的天数。
我们将其用作描述贷款期间的容器,其中 startDate
是贷款可能发放的日期,而 endDate
是最后还款日期,我们还在每个贷款的还款中使用期间,在这种情况下,endDate
是还款的还款日期。
Schedule
Schedule
类用于为给定的贷款 period
、还款次数和还款频率生成 periods
。
$schedule = new Schedule($startDate, $numberOfPeriods, $dateProvider)
PaymentScheduleCalculator
PaymentScheduleCalculator
接口是不同支付计算方式实现的合约。
EqualPrincipalPaymentScheduleCalculator
EqualPrincipalPaymentScheduleCalculator
是 PaymentScheduleCalculator
接口的最简单实现,生成等额本金还款。
$startDate = new \DateTime('1984-08-08');
$principalAmount = 500;
$numberOfPeriods = 5;
$dailyInterestRate = 0.000383;
$dateProvider = new DateProvider(new ExactDayOfMonthStrategy(), new WeekendsProvider(), true);
$schedule = new Schedule($startDate, $numberOfPeriods, $dateProvider);
$schedulePeriods = $schedule->generatePeriods();
$paymentSchedule = new EqualPrincipalPaymentScheduleCalculator($schedulePeriods, $principalAmount, $dailyInterestRate);
$payments = $paymentSchedule->calculateSchedule();
AnnuityPaymentScheduleCalculator
AnnuityPaymentScheduleCalculator
生成等额还款。
...
$paymentSchedule = new AnnuityPaymentScheduleCalculator($schedulePeriods, $principalAmount, $dailyInterestRate);
$payments = $paymentSchedule->calculateSchedule();
许可
在 MIT 许可证 的条款下发布。