Фасад 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;
}
}
Нові допоміжні методи спрощують доступ до стандартних регіональних налаштувань вашого застосунку, що робить роботу з міжнародним форматуванням і відображенням валюти набагато легшою