Requires PHP 7.1+
None
-
Numbers symbols are now represented by a
Symbolsinstance instead of an array. Methods using numeric symbols have been updated. The currency symbol is no longer added to the numeric symbols, it is now a separated parameter.<?php /* @var ICanBoogie\CLDR\CurrencyFormatter $formatter */ /* @var array $symbols */ $formatter->format($number, $pattern, $symbols);
<?php /* @var ICanBoogie\CLDR\CurrencyFormatter $formatter */ /* @var ICanBoogie\CLDR\Numbers\Symbols $symbols */ /* @var string $currencySymbol */ $formatter->format($number, $pattern, $symbols, $currencySymbol);
-
List patterns are now represented by a
ListPatterninstance instead of an array. Methods using a list pattern have been updated.<?php /* @var ICanBoogie\CLDR\ListFormatter $formatter */ /* @var array $list_pattern */ $formatter->format([ 1, 2, 3 ], list_pattern);
<?php /* @var ICanBoogie\CLDR\ListFormatter $formatter */ /* @var ICanBoogie\CLDR\Locale\ListPattern $list_pattern */ $formatter->format([ 1, 2, 3 ], list_pattern);
-
Removed
NumberPattern:$format, it was never used. -
Removed the
localized()method on entities that don't naturally require access to the repository:NumberFormatterandListFormatter. You can use$repository->locales['fr']->localize($formatter)to get a localized formatter, or thenumber_formatterandlist_formaterproperties of theLocaleobject. -
The fluent interface of units is now more on par with the rest of the API.
<?php echo $units->duration_hour(23); echo $units->duration_hour(23, $units::LENGTH_SHORT); echo $units->volume_liter->per_unit(12.345, $units->duration_hour); echo $units->volume_liter->per_unit(12.345, $units->duration_hour, $units::LENGTH_SHORT);
<?php echo $units->duration_hour(23); echo $units->duration_hour(23)->as_short; echo $units->volume_liter(12.345)->per($units->duration_hour); echo $units->volume_liter(12.345)->per($units->duration_hour)->as_short;
-
The localized currency formatter no longer supports a
$symbolsparameter. If you need to customize how a currency is formatted, create your ownSymbolsinstance and use it with a non-localized formatter e.g.$repository->format_currency(). -
The localized list formatter no longer accepts a list pattern or a type, only a type. If you need to customize how a list is formatted, create you own
ListPatterninstance and use it with a non-localized formatter e.g.$repository->format_list().
- Compatible with PHP 8.1+
- Targets CLDR v36
- Improved type annotations, including generics.