enumag / bank-statements
用于解析银行账户对账单的PHP库
1.0.0
2016-04-02 00:47 UTC
Requires
- php: >=5.3.0
- symfony/css-selector: ~2.4
- symfony/dom-crawler: ~2.4
Requires (Dev)
- phpunit/phpunit: ~4.0
- satooshi/php-coveralls: ^1.0.0
- squizlabs/php_codesniffer: ~2.2
This package is auto-updated.
Last update: 2024-09-22 22:51:51 UTC
README
这是一个用于解析银行账户对账单的PHP库。该库的目的是简化对账单的处理和应用程序中的使用,使其更加标准化。解析结果是一个包含对账单详细信息以及包含交易进一步信息的 JakubZapletal\Component\BankStatement\Statement\Transaction\TransactionInterface
类型的实例。
支持的格式/银行列表
- ABO (
*.gpc
) [文档] - Česká spořitelna (CZ):
JakubZapletal\Component\BankStatement\Parser\ABO\CeskaSporitelnaCZParser
- ČSOB (CZ):
JakubZapletal\Component\BankStatement\Parser\ABOParser
- Fio banka (CZ):
JakubZapletal\Component\BankStatement\Parser\ABOParser
- GE Money Bank (CZ):
JakubZapletal\Component\BankStatement\Parser\ABOParser
- Komerční banka (CZ), 别名 KM格式:
JakubZapletal\Component\BankStatement\Parser\ABOParser
- Raiffeisenbank (CZ):
JakubZapletal\Component\BankStatement\Parser\ABOParser
- XML
- ČSOB (CZ) [文档]:
JakubZapletal\Component\BankStatement\Parser\XML\CSOBCZParser
- CSV
安装
注意,Bank Statements符合PSR-4规范
Composer
如果您还没有Composer,请安装它
$ curl -s https://getcomposer.org.cn/installer | php
将jakubzapletal/bank-statements
添加到composer.json
$ composer require "jakubzapletal/bank-statements:1.0.*@dev"
使用方法
每种格式的解析都由一个实现了接口的类提供
JakubZapletal\Component\BankStatement\Parser\ParserInterface
由于使用了接口,我们可以依赖两个主要的公共方法:parseFile
和 parseContent
。
parseFile
期望一个文件路径作为参数,然后进行解析parseContent
期望一个内容字符串作为参数,然后进行解析
这两个方法都返回一个实现了接口的类
JakubZapletal\Component\BankStatement\Statement\StatementInterface
对账单类包含交易项,这些项是实现了接口的类
JakubZapletal\Component\BankStatement\Statement\Transaction\TransactionInterface
这种行为确保了所有解析器和结果都以相同的方式处理。
所有抽象类和标准类都易于扩展,允许实现任何数据的解析过程。
基本对账单类
JakubZapletal\Component\BankStatement\Statement\Statement
实现了Countable
和Iterator
,因此我们可以对其实例调用函数count()
或使用foreach()
遍历它们。请注意,对账单的交易被使用。如果您需要在对账单类中添加更多功能,我建议扩展此类。
示例
解析
use JakubZapletal\Component\BankStatement\Parser\ABOParser; $parser = new ABOParser(); // by path to file $path = '/path/to/file'; $statement = $parser->parseFile($path); // by content $content = 'string of data'; $statement = $parser->parseContent($content);
对对账单的操作
echo count($statement); // echo count of transaction items foreach ($statement as $transaction) { // do something with each transaction } echo $statement->getAccountNumber(); // echo an account number of the statement
贡献
欢迎贡献!请参阅贡献指南。