Download the PHP package danielme85/laravel-cconverter without Composer
On this page you can find all versions of the php package danielme85/laravel-cconverter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download danielme85/laravel-cconverter
More information about danielme85/laravel-cconverter
Files in danielme85/laravel-cconverter
Package laravel-cconverter
Short Description Laravel 5 plug-in for currency conversion
License MIT
Informations about the package laravel-cconverter
Laravel Currency Converter
A simple currency conversion plug-in for Laravel 5.5+ 💵
Example usage: https://danielmellum.com/projects/currency-converter
Version testing and requirements
Version | Tested with |
---|---|
dev-master | Laravel 6.0 |
v0.3.* | Laravel 6.0 |
v0.2.* | Laravel 5.6 |
v0.1.* | Laravel 5.5 |
v0.0.7 | Laravel 5.4 |
If you are having composer requirement issues using the latest release and Laravel < v5.4, try the v0.0.7 release.
Please note:
- The European Central Bank does not require any user account and is therefore set as the default 'api-source', however the number of available currencies are somewhat limited compared to the other commercial sources (37). In my experience this source is also unpredictable, and might give an empty response.
- All the other data providers are commercial and require a user account. They all have a free tier of 1000 requests per month, let's say you theoretically cache results for 60 min and you should be covered with some margin for errors 👍 Coincidentally Cache is enabled per default and set to 60 min. Now in theory one should perhaps make a simple Eloquent Model with the columns: date, from, to, rate or something similar, and then store the historical results. Please note that depending on usage this might go against the user agreements on the commercial data providers. 🤫 🙈
Installation
Configuration
You can publish this vendor config file if you would like to make changes to the default config.
All config variables can also be changed in your local .env file:
Usage
There are static class "shortcuts" to convert or get one-time Currency series.
Working with multiple values
I would highly recommend creating a model instance and the non-static functions getRates() & convert() when doing multiple conversion or getting multiple currency series for the best performance. The currency rates are stored in the provider model by date/base-currency for quick and easy access.
You can override the settings when/if you create a new instance.
Use the three lettered ISO4217 code for to/from currencies: http://en.wikipedia.org/wiki/ISO_4217
Money Formatting
The package: gerardojbaez/money is included for an easier and more powerful Money Formatter, excellent alternative to money_format(). You can get the values of an conversion by setting round='money' (money formatter overrides rounding).
You can also get the money formatter itself trough the static Currency function:
This Money Formatter also ships with a handy helper function.
See Money Formatter github page for more information and usage. https://github.com/gerardojbaez/money
Supported functions per API
Default API is: The European Central Bank
Config var | API | HTTPS | Historical | Sign-up required | URL |
---|---|---|---|---|---|
eurocentralbank | The European Central Bank | yes | yes | no | https://sdw-wsrest.ecb.europa.eu/help/ |
openexchange | OpenExchangeRates.com | non-free | non-free | yes | https://openexchangerates.org |
currencylayer | *CurrencyLayer | non-free | yes | yes | https://currencylayer.com |
fixer | *Fixer.io | yes | yes | yes | https://fixer.io |
*CurrencyLayer and Fixer.io is the same company now, and it seems like the services have become one and the same.
Disclaimer
Please take note of the Terms of Use for the different data sources.
https://policies.yahoo.com/us/en/yahoo/terms/product-atos/yql/index.htm
https://currencylayer.com/terms
https://openexchangerates.org/terms
This code is released per the MIT open source license: http://opensource.org/licenses/MIT The actual rates and conversion will vary between the data sources. In addition I am no math professor, so you should probably not use this for super serious multi-billion dollar investments. If you are gonna spend your hard earned billion dollars on the money market, you should probably use something like this: http://www.forex.com/forex.html
All versions of laravel-cconverter with dependencies
illuminate/support Version >=5.4
guzzlehttp/guzzle Version ^6.0
gerardojbaez/money Version ^0.3