کتابخانه ی swap که برای لاراول و lumen کاربرد داره به شما اجازه میده نرخ فعلی ارز رو از سرویس های رایگانی مثل Fixer و یاهو دریافت کنید و تبدیلات نرخ رو انجام بدید. مستندات کامل کتابخانه
نصب پکیج
برای نصب پکیج از دستور زیر استفاده کنید :
composer require florianv/laravel-swap php-http/message php-http/guzzle6-adapter
پیکربندی در لاراول
برای پیکربندی پکیج در لاراول نیاز دارید که provider و alias رو به فایل config/app.php اضافه کنید :
// /config/app.php
'providers' => [
Swap\Laravel\SwapServiceProvider::class
],
'aliases' => [
'Swap' => Swap\Laravel\Facades\Swap::class
]
و درنهایت پکیج رو منتشر کنید :
php artisan vendor:publish --provider="Swap\Laravel\SwapServiceProvider"
پیکربندی در Lumen
بصورت زیر provider و alias رو وارد کنید :
// /boostrap/app.php
// Register the facade
$app->withFacades(true, [
Swap\Laravel\Facades\Swap::class => 'Swap'
]);
// Load the configuration
$app->configure('swap');
// Register the service provider
$app->register(Swap\Laravel\SwapServiceProvider::class);
تنظیمات
بصورت پیشفرض Swap از سرویس Fixer استفاده میکنه اما شما میتونید سرویس های مختلفی رو بهش اضافه کنید. (برای دریافت نرخ ریال ایران بهتون پیشنهاد میدم حتما از یاهو استفاده کنید). برای اینکار بصورت زیر عمل کنید :
// app/config/swap.php
'services' => [
'fixer' => true,
'yahoo' => true,
]
با اینکار Swap اول fixer رو چک میکنه و اگر به خطا خورد سراغ یاهو میره.
نحوه استفاده
برای اینکه نرخ ارز رو دریافت کنید باید از متدهای ()latest یا ()historical استفاده کنید :
// Get the latest EUR/USD rate
$rate = Swap::latest('EUR/USD');
// 1.129
$rate->getValue();
// 2016-08-26
$rate->getDate()->format('Y-m-d');
// Get the EUR/USD rate yesterday
$rate = Swap::historical('EUR/USD', Carbon\Carbon::yesterday());
مثلا برای دریافت نرخ دلار/ریال (ایران) بصورت زیر کد می زنیم :
$rate = Swap::latest('USD/IRR');
نکته : اگر در حین اجرای کد در local به اروری شبیه cURL error 60 برخوردید از راه حل زیر استفاده کنید :
- این فایل رو دانلود کرده و در مسیر xampp/php بریزید.
- به فایل php.ini موجود در فولدر xampp/php برید و کد زیر رو به آخرش اضافه کنید (آدرس فایل رو بهش بدید) :
curl.cainfo = "C:\xampp\php\cacert.pem"
- حالا xampp رو ریست کنید.
سرویس های پشتیبانی شده
این لیست کاملی از تمام سرویس های پشتیبانی شده و پیکربندی های موجود آنهاست, اما شما میتونید سرویس دلخواه خودتون رو هم بسازید و بهش اضافه کنید :
// app/config/swap.php
'services' => [
'central_bank_of_czech_republic' => true,
'central_bank_of_republic_turkey' => true,
'currency_layer' => ['access_key' => 'secret', 'enterprise' => false],
'european_central_bank' => true,
'fixer' => true,
'google' => true,
'national_bank_of_romania' => true,
'open_exchange_rates' => ['app_id' => 'secret', 'enterprise' => false],
'array' => [
[
'EUR/USD' => new ExchangeRate('1.1'),
'EUR/GBP' => 1.5
],
[
'2017-01-01' => [
'EUR/USD' => new ExchangeRate('1.5')
],
'2017-01-03' => [
'EUR/GBP' => 1.3
],
]
],
'webservicex' => true,
'xignite' => ['token' => 'token'],
'yahoo' => true,
'russian_central_bank' => true
]
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید