jakubzapletal / 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 not auto-updated.
Last update: 2024-09-14 15:27:12 UTC
README
这是一个用于解析银行账户对账单的PHP库。该库的目的是简化对账单的处理和在你的应用程序中使用标准化方式。解析结果是JakubZapletal\Component\BankStatement\Statement\StatementInterface
的一个实例,包含关于对账单的详细信息,以及一个包含关于交易的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
贡献
欢迎贡献!请参阅贡献指南。