1. Go to this page and download the library: Download jejik/mt940 library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
jejik / mt940 example snippets
use Jejik\MT940\Reader;
$reader = new Reader();
$statements = $reader->getStatements(file_get_contents('mt940.txt'));
foreach ($statements as $statement) {
echo $statement->getOpeningBalance()->getAmount() . "\n";
foreach ($statement->getTransactions() as $transaction) {
echo $transaction->getAmount() . "\n";
}
echo $statement->getClosingBalance()->getAmount() . "\n";
}
use Jejik\MT940\Reader;
$reader = new Reader();
$reader->addParser('My bank', 'My\Bank');
namespace My;
use Jejik\MT940\Parser\AbstractParser;
class Bank extends AbstractParser
{
public function accept(string $text): bool
{
return strpos($text, 'MYBANK') !== false;
}
}
use Jejik\MT940\AccountInterface;
use Jejik\MT940\Reader;
$db = new ORM(); // Whatever your flavour is...
$reader = new Reader();
$reader->setAccountClass(function ($accountNumber) use ($db) {
$account = $db::factory('My\Account')->findBy(array(
'number' => $accountNumber,
));
return $account ?: new My\Account();
});
$reader->setStatementClass(function (AccountInterface $account, $number) use ($db) {
$statement = $db::factory('My\Statement')->findBy(array(
'account' => $account->getNumber(),
'number' => $number,
));
return $statement ?: new My\Statement();
});
$reader->setTransactionClass('My\Transaction')
->setContraAccountClass('My\ContraAccount')
->setOpeningBalanceClass('My\OpeningBalance')
->setClosingBalanceClass('My\ClosingBalance');
foreach ($reader->getStatements(file_get_contents('mt940.txt'))) {
$statement->save();
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.