Skip to content

Kodeas/currency

Repository files navigation

currency

A simple currency cast for Laravel

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This package is created to eliminate the ambiguity involved in storing and retrieving currencies. Currently, for simplicity the terminology surrounding the package is in US currency, however there is nothing stopping anyone from using this for any other 2 decimal currencies.

Installation

You can install the package via composer:

composer require kodeas/currency

Usage

MyModel extends Model
{
    protected $casts = [
        'amount' => Kodeas\Currency\Casts\Currency::class
    ];
}
$currency = Kodeas\Currency\Currency::fromUsd(1);

$model = MyModel::create([
    'amount' => $currency //100(cents) in database
]);

$model->amount //Currency::class

Initialize

$currency = Kodeas\Currency\Currency::fromUsd(1);
$currency = Kodeas\Currency\Currency::fromCents(100);

Methods

echo $currency; // "1.00"
$currency->toUsd(); // "1"
$currency->toCents(); // "100"
$currency->toReadable(); // "1.00"
$currency->toReadable('$'); // "$1.00"
return response()->json(['currency' => $currency->toUsd()]); // {"currency": "1.00"}

Credits

License

The MIT License (MIT). Please see License File for more information.