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.
You can install the package via composer:
composer require kodeas/currency
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
$currency = Kodeas\Currency\Currency::fromUsd(1);
$currency = Kodeas\Currency\Currency::fromCents(100);
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"}
The MIT License (MIT). Please see License File for more information.