دریافت لحظه ای نرخ ارز در لاراول

13 خرداد 1398, خواندن در 1 دقیقه

کتابخانه ی 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 برخوردید از راه حل زیر استفاده کنید :

  1. این فایل رو دانلود کرده و در مسیر xampp/php بریزید.
  2. به فایل php.ini موجود در فولدر xampp/php برید و کد زیر رو به آخرش اضافه کنید (آدرس فایل رو بهش بدید) :
curl.cainfo = "C:\xampp\php\cacert.pem"
  1. حالا 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
]
چه امتیازی به این مقاله می دید؟
خیلی بد
بد
متوسط
خوب
عالی

دیدگاه‌ها و پرسش‌ها

برای ارسال دیدگاه لازم است، ابتدا وارد سایت شوید.

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

آفلاین
user-avatar
امیررضا سیستانه ای @reza.sys
دنبال کردن

گفتگو‌ برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن وارد شو