Доступ до локалізації та стандартів валюти в Laravel

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 24 січня, 2025
З новими методами фасаду Number у Laravel ви зможете легко отримувати налаштування локалі та валюти за замовчуванням, що спростить міжнародну інтеграцію вашого додатка. Досліджуйте, як ці вдосконалення можуть покращити обробку замовлень, адаптуючи їх до потреб користувачів з різних регіонів

Фасад Number у Laravel отримав нові зручні методи для отримання стандартних налаштувань регіону та валюти, що спрощує процес інтернаціоналізації у ваших додатках. Ці зміни полегшують роботу з регіональними налаштуваннями та форматуванням валюти, що особливо корисно при створенні застосунків для користувачів з різних регіонів.

use Illuminate\Support\Number;
// Швидкий доступ до налаштувань за замовчуванням
$locale = Number::defaultLocale();
$currency = Number::defaultCurrency();

Розглянемо практичний приклад системи обробки міжнародних замовлень:

<?php
 
namespace App\Services;
 
use App\Models\Order;
use Illuminate\Support\Number;
use App\Events\OrderProcessed;
 
class OrderProcessor
{
    public function formatOrderSummary(Order $order, ?string $userLocale = null)
    {
        $locale = $userLocale ?? Number::defaultLocale();
        $currency = $order->currency ?? Number::defaultCurrency();
        return [
            'order_number' => $order->reference,
            'subtotal' => Number::currency($order->subtotal, in: $currency),
            'tax' => Number::currency($order->tax, in: $currency),
            'total' => Number::currency($order->total, in: $currency),
            'formatted_date' => $order->created_at->locale($locale)->isoFormat('LLLL'),
            'meta' => [
                'display_locale' => $locale,
                'currency' => $currency,
                'exchange_rate' => $this->getExchangeRate(
                    from: Number::defaultCurrency(),
                    to: $currency
                )
            ]
        ];
    }
 
    protected function getExchangeRate(string $from, string $to): float
    {
        // Логіка розрахунку обмінного курсу
        return 1.0;
    }
}

Нові допоміжні методи спрощують доступ до стандартних регіональних налаштувань вашого застосунку, що робить роботу з міжнародним форматуванням і відображенням валюти набагато легшою