Library to read CAMT files. Currently only CAMT.052, CAMT.053 and CAMT.054 are supported.
Version | Supported |
---|---|
camt.052.001.01 | ✔️ |
camt.052.001.02 | ✔️ |
camt.052.001.03 | |
camt.052.001.04 | ✔️ |
camt.052.001.05 | |
camt.052.001.06 | ✔️ |
camt.052.001.08 |
Version | Supported |
---|---|
camt.053.001.01 | |
camt.053.001.02 | ✔️ |
camt.053.001.03 | ✔️ |
camt.053.001.04 | ✔️ |
camt.053.001.05 | |
camt.053.001.06 | |
camt.053.001.08 |
Version | Supported |
---|---|
camt.054.001.01 | |
camt.054.001.02 | ✔️ |
camt.054.001.03 | |
camt.054.001.04 | ✔️ |
camt.054.001.05 | |
camt.054.001.06 | |
camt.054.001.08 |
It is installable and autoloadable via Composer:
composer require genkgo/camt
To run the unit tests at the command line, run:
./vendor/bin/phpunit
This library attempts to comply with PSR-1, PSR-2, and PSR-4. If you notice compliance oversights, please send a patch via pull request.
PHP-CS-Fixer is used to ensure PSR coding standards are respected.
To fix CS, run:
./vendor/bin/php-cs-fixer fix
A .php_cs.dist
file in the root directory excludes vendor
directory from fixing and contains coding standards level wanted (PSR-2).
Read a CAMT file, and loop through its statements and entries.
<?php
use Genkgo\Camt\Config;
use Genkgo\Camt\Reader;
$reader = new Reader(Config::getDefault());
$message = $reader->readFile(__DIR__.'/Camt053/Stubs/camt053.v2.minimal.xml');
$statements = $message->getRecords();
foreach ($statements as $statement) {
$entries = $statement->getEntries();
}
This library provides a XSD validation for each supported CAMT format. The validation is executed by default. But in some cases, you might want to disable it.
<?php
use Genkgo\Camt\Config;
use Genkgo\Camt\Reader;
$config = Config::getDefault();
$config->disableXsdValidation();
$reader = new Reader($config);
- Found a bug? Please try to solve it yourself first and issue a pull request. If you are not able to fix it, at least give a clear description what goes wrong. We will have a look when there is time.
- Want to see a feature added, issue a pull request and see what happens. You could also file a bug of the missing feature and we can discuss how to implement it.