Tutorial/PHP ve Laravel

PHP ve Laravel ile döviz kurları

Laravel HTTP istemcisi, bearer auth, zaman aşımı ve güncellik alanlarıyla kurları alın ve önbelleğe koyun.

MMexchangerate.dev·Jul 17, 2026·6 dk okuma

Laravel servisi hatalı yanıtları reddeder ve tam FX gözlemini 60 saniye saklar. Anahtarı yapılandırmada tutun; source, market_session ve data_updated_at alanlarını kurla döndürün.

Key points
Bearer auth, timeout ve throw() kullanın.
Tam başarılı yanıtı 60 saniye önbelleğe alın.
Anahtarı EXCHANGERATE_API_KEY üzerinden okuyun.
Kesin hesaplarda ondalık kitaplığı kullanın.

Önbellekli FX servisi kurun

Servis, taban ve sıralı sembollerden sabit bir anahtar üretir. throw() önbelleğe yazmadan önce çalışır.

php · app/Services/ExchangeRateService.phpcopy
<?php

namespace App\Services;

use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Http;

final class ExchangeRateService
{
    public function latest(string $base, array $symbols): array
    {
        sort($symbols);
        $symbolList = implode(',', $symbols);
        $cacheKey = "fx:latest:{$base}:{$symbolList}";

        return Cache::remember($cacheKey, now()->addSeconds(60), function () use (
            $base,
            $symbolList,
        ): array {
            return Http::acceptJson()
                ->withToken(config('services.exchangerate.key'))
                ->timeout(5)
                ->get(
                    "https://api.exchangerate.dev/v1/latest/{$base}",
                    ['symbols' => $symbolList],
                )
                ->throw()
                ->json();
        });
    }
}

Anahtarı kaynak kod dışında ayarlayın

php · config/services.php and .envcopy
// config/services.php
'exchangerate' => [
    'key' => env('EXCHANGERATE_API_KEY'),
],

// .env (never commit the real value)
EXCHANGERATE_API_KEY=exr_live_...

Kuru ve gözlem alanlarını okuyun

$service->latest("USD", ["EUR", "GBP"]) sonrası $result["rates"]["EUR"] değerini ve kaynak alanlarını koruyun.

Hataları kur olarak saklamayın
401 anahtar hatası, 429 limit aşımıdır. Eski gözlemi yalnızca özgün zamanı ile tutun.
  • Sembolleri sıralayın.
  • Timeout belirleyin.
  • JSON öncesi throw çağırın.
  • Nihai tutarı yuvarlayın.
MM
exchangerate.dev
FX verileriyle çalışan geliştiriciler için entegrasyon rehberleri.

Keep reading

GuideTek çağrıda geçmiş FX zaman serisiRead Referencesource ve market_session alanlarını okumaRead GuideGösterge ve uygulanabilir FX kurlarıRead