Skip to content

lacatoire/acriss-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Acriss Code

Decode and translate ACRISS vehicle classification codes in PHP.

CI Latest Stable Version License

A PHP library to parse, validate, and translate ACRISS codes (used by rental companies to describe vehicles). Strongly-typed with PHP 8.2+ enums, multilingual (EN, FR, IT, DE), framework-agnostic.

Installation

composer require lacatoire/acriss-code

Symfony Flex registers the bundle automatically.

Usage

Parse a code

use Acriss\AcrissCodeParser;

$parser = new AcrissCodeParser();
$code = $parser->parse('CDMR');

echo $code->category->value;

Translate a code

use Acriss\AcrissTranslator;

$translator = new AcrissTranslator($symfonyTranslator);
$labels = $translator->translate($code, 'fr');

echo $labels->category;
echo $labels->fuelAirCon;

Full details (parse + translate)

use Acriss\AcrissCodeDetails;

$details = (new AcrissCodeDetails($parser, $translator))->get('CDMR', 'it');

echo $details->translated->transmission; // "Manuale"

Standalone usage (without framework)

use Symfony\Component\Translation\Translator;
use Symfony\Component\Translation\Loader\YamlFileLoader;
use Acriss\AcrissTranslator;

$translator = new Translator('fr');
$translator->addLoader('yaml', new YamlFileLoader());
$translator->addResource('yaml', __DIR__.'/translations/messages.fr.yaml', 'fr');

$acriss = new AcrissTranslator($translator);

Supported locales

en, fr, it, de — PRs welcome to add more.

Testing

composer install
./vendor/bin/phpunit

License

MIT

About

PHP enums and helpers for ACRISS vehicle classification codes (Category, Type, Transmission, Fuel/AC)

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages