king-square / php-mt940
PHP中的简单MT940解析器
2.0.0
2020-11-05 10:11 UTC
Requires
- php: >=7
- ext-json: *
Requires (Dev)
- phpunit/phpunit: 4.4.*
This package is auto-updated.
Last update: 2024-09-24 10:05:37 UTC
README
php-mt940?
php-mt940包提供了一种轻量级的解析器,用于解析MT940格式,该格式由SWIFT使用。输出被转换成易于使用的数据类Transaction_banking,它本身包含Statement_banking对象。非常直观。
要求
- 至少PHP 7
安装
如果您的系统上还没有composer,请按照getcomposer.org上的说明进行操作。
要将此依赖项添加到您的项目中,只需从您的项目根目录运行以下命令
composer require kingsquare/php-mt940
这确保您安装了最新稳定版本。
如何使用解析器?
我在examples目录中附带了一个简单的脚本,以更详细地解释它,但在加载所需的类之后,使用方式应该相当简单
<?php // ... load everything ... // // instantiate the actual parser // and parse them from a given file, this could be any file or a posted string $parser = new \Kingsquare\Parser\Banking\Mt940(); $tmpFile = __DIR__.'/test.mta'; $parsedStatements = $parser->parse(file_get_contents($tmpFile)); ?>
包含的引擎
目前包含以下引擎
- ABNAMRO (这里)
- ING (这里)
- KNAB (这里)
- RABOBANK (这里)
- SPARKASSE (这里)
- TRIODOS (这里)
- HSBC (这里)
- SNS (这里) 实验性
- BUNQ (这里)
- PENTA (这里)
- ASN (这里)
- KBS (这里)
- ZETB (这里)
- KONTIST (这里)
- 默认的
UNKNOWN
-引擎 (这里)
自定义引擎
要覆盖引擎或尝试在文件上一次性使用某个引擎,可以将引擎传递给parse
-方法
<?php // ... load everything ... // class MyCustomMt940Engine extends \Kingsquare\Parser\Banking\Mt940\Engine { // add your overrides / overloads and custom logic here } // instantiate the actual parser // and parse them from a given file, this could be any file or a posted string $parser = new \Kingsquare\Parser\Banking\Mt940(); $engine = new MyCustomMt940Engine(); $tmpFile = __DIR__.'/test.mta'; $parsedStatements = $parser->parse(file_get_contents($tmpFile), $engine); ?>
已知问题
我已提供unittests,但请查看github问题跟踪器以获取最新想法、问题或其他内容。
未来计划
我确实打算添加新的引擎或保持一切运行顺畅,但由于我无法访问更多的测试文件,很难添加新的引擎 ;) 未知
引擎应该可以工作或者至少给出一些不同银行与标准不同的想法。如果您有任何想法、示例或希望加入的新银行,请不要犹豫,发送给我一个问题/拉取请求!
联系
这是GitHub,你知道在哪里找到我 :)
许可证
PHP-MT940遵循MIT许可证 - 请参阅LICENSE文件以获取详细信息