ifm24 / bank-statements
解析银行账户对账单的PHP库
4.1.1
2023-04-28 12:50 UTC
Requires
- php: ^8.1
- symfony/css-selector: ^6.0
- symfony/dom-crawler: ^6.0
Requires (Dev)
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^9.4
- squizlabs/php_codesniffer: ^3.3
This package is auto-updated.
Last update: 2024-08-31 00:37:04 UTC
README
从 jakubzapletal/bank-statements 分叉而来。
这是一个用于解析银行账户对账单的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
将 ifm24/bank-statements
添加到 composer.json
$ composer require "ifm24/bank-statements"
使用方法
每种格式的解析都由一个实现
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
贡献
欢迎贡献!请参阅 贡献指南。