composer req boshurik/twig-petrovich-extension
use Staticall\Petrovich\Petrovich;
use Staticall\Petrovich\Petrovich\Loader;
use BoShurik\Petrovich\Twig\Extension\PetrovichExtension;
use Twig\Environment;
$petrovich = new Petrovich(Loader::load('/path/to/rules.json'));
$extension = new PetrovichExtension($petrovich);
$twig = new Environment($loader);
$twig->addExtension($extension);
You can use callable to lazy loading Petrovich
instance
use Staticall\Petrovich\Petrovich;
use Staticall\Petrovich\Petrovich\Loader;
use BoShurik\Petrovich\Twig\Extension\PetrovichExtension;
$factory = function () {
return new Petrovich(Loader::load('/path/to/rules.json'));
};
$extension = new PetrovichExtension($factory);
{{ 'Тестов Тест Тестович' | inflect_full_name('genitive', 'male') }}
{{ 'Тестов Тест Тестович' | inflect_full_name('dative') }}
{{ 'Тестов Тест Тестович' | inflect_full_name_accusative }}
{{ 'Тестов Тест Тестович' | inflect_full_name_instrumental_male }}
{{ inflect_full_name('Тестов Тест Тестович', 'genitive', 'male') }}
{{ inflect_full_name('Тестов Тест Тестович', 'dative') }}
{{ inflect_full_name_accusative('Тестов Тест Тестович') }}
{{ inflect_full_name_instrumental_male('Тестов Тест Тестович') }}