king-square /php-mt940

PHP中的简单MT940解析器

2.0.0 2020-11-05 10:11 UTC

README

Latest Stable Version Total Downloads License

Scrutinizer Quality Score Build Status wercker status

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));
?>

包含的引擎

目前包含以下引擎

自定义引擎

要覆盖引擎或尝试在文件上一次性使用某个引擎,可以将引擎传递给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文件以获取详细信息