fyre/formatter

A formatting library.

v4.1.0 2024-11-20 13:51 UTC

This package is auto-updated.

Last update: 2024-12-20 14:05:15 UTC


README

FyreFormatter is a free, open-source formatting library for PHP.

Table Of Contents

Installation

Using Composer

composer require fyre/formatter

In PHP:

use Fyre\Utility\Formatter;

Basic Usage

$formatter = new Formatter($typeParser, $config);

Default configuration options will be resolved from the "App" key in the Config.

  • $options is an array containing configuration options.
    • defaultLocale is a string representing the default locale, and will default to the system default.
    • defaultTimeZone is a string representing the default time zone, and will default to the system default.
    • defaultCurrency is a string representing the default currency, and will default to "USD".
$container->use(Config::class)->set('App', $options);

Autoloading

It is recommended to bind the Formatter to the Container as a singleton.

$container->singleton(Formatter::class);

Any dependencies will be injected automatically when loading from the Container.

$formatter = $container->use(Formatter::class);

Methods

Currency

Format a value as a currency string.

  • $value is a string or number representing the value to format.
  • $options is an array containing formatting options.
    • $locale is a string representing the locale, and will default to the Formatter default locale.
    • $currency is a string representing the currency, and will default to the Formatter default currency.
$currency = $formatter->currency($value, $options);

Date

Format a DateTime as a date string.

  • $value is a DateTime.
  • $options is an array containing formatting options.
    • $locale is a string representing the locale, and will default to the Formatter default locale.
    • $timeZone is a string representing the time zone, and will default to the Formatter default time zone.
    • $format is a string representing the format, and will default to the TypeParser default date user format.
$date = $formatter->date($value, $options);

Date/Time

Format a DateTime as a date/time string.

  • $value is a DateTime.
  • $options is an array containing formatting options.
    • $locale is a string representing the locale, and will default to the Formatter default locale.
    • $timeZone is a string representing the time zone, and will default to the Formatter default time zone.
    • $format is a string representing the format, and will default to the TypeParser default datetime user format.
$datetime = $formatter->datetime($value, $options);

Get Default Currency

Get the default currency.

$defaultCurrency = $formatter->getDefaultCurrency();

Get Default Locale

Get the default locale.

$defaultLocale = $formatter->getDefaultLocale();

Get Default Time Zone

Get the default time zone.

$defaultTimeZone = $formatter->getDefaultTimeZone();

Number

Format a value as a number string.

  • $value is a string or number representing the value to format.
  • $options is an array containing formatting options.
    • $locale is a string representing the locale, and will default to the Formatter default locale.
$number = $formatter->number($value, $options);

Percent

Format a value as a percent string.

  • $value is a string or number representing the value to format.
  • $options is an array containing formatting options.
    • $locale is a string representing the locale, and will default to the Formatter default locale.
$percent = $formatter->percent($value, $options);

Set Default Currency

Set the default currency.

  • $currency is a string representing the currency code.
$formatter->setDefaultCurrency($currency);

Set Default Locale

Set the default locale.

  • $locale is a string representing the locale.
$formatter->setDefaultLocale($locale);

Set Default Time Zone

Set the default time zone.

  • $timeZone is a string representing the time zone.
$formatter->setDefaultTimeZone($timeZone);

Time

Format a DateTime as a time string.

  • $value is a DateTime.
  • $options is an array containing formatting options.
    • $locale is a string representing the locale, and will default to the Formatter default locale.
    • $timeZone is a string representing the time zone, and will default to the Formatter default time zone.
    • $format is a string representing the format, and will default to the TypeParser default time user format.
$time = $formatter->time($value, $options);