silarihi / cfonb-parser
一个无依赖的PHP解析器,用于解析CFONB交易
5.0.0
2023-12-02 07:37 UTC
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.40
- phpstan/phpstan: ^1.10.47
- phpunit/phpunit: ^10.5.1
- rector/rector: ^0.18
- vimeo/psalm: ^5.16
README
一个无依赖的PHP解析器,用于解析CFONB报表
支持CFONB 120/240格式
安装
推荐通过Composer进行安装。运行以下命令来安装包并将其添加到项目中的composer.json
composer require silarhi/cfonb-parser
如何使用
解析CFONB 120
<?php use Silarhi\Cfonb\Cfonb120Reader; $reader = new Cfonb120Reader(); //Gets all statements day by day foreach($reader->parse('My Content') as $statement) { if ($statement->hasOldBalance()) { echo sprintf("Old balance : %f\n", $statement->getOldBalance()->getAmount()); } foreach($statement->getOperations() as $operation) { //Gets all statement operations } if ($statement->hasNewBalance()) { echo sprintf("New balance : %f\n", $statement->getNewBalance()->getAmount()); } }
解析CFONB 240
<?php use Silarhi\Cfonb\Cfonb240Reader; $reader = new Cfonb240Reader(); foreach($reader->parse('My Content') as $transfer) { assert($transfer instanceof \Silarhi\Cfonb\Banking\Transfer); }
解析CFONB 120和240
<?php use Silarhi\Cfonb\CfonbReader; $reader = new CfonbReader(); foreach($reader->parseCfonb120('My Content') as $statement) { assert($statement instanceof \Silarhi\Cfonb\Banking\Statement); } foreach($reader->parseCfonb240('My Content') as $transfer) { assert($transfer instanceof \Silarhi\Cfonb\Banking\Transfer); }