Клас Number у Laravel надає можливість обробки чисел у форматах, що залежать від локалі, завдяки використанню розширення PHP Intl. Це спрощує обробку числових даних на міжнародному рівні.
Автоматичне опрацювання різних форматів локалей:
use Illuminate\Support\Number;
Number::parse($string);
Number::parseInt($string);
Number::parseFloat($string);
// З конкретною локаллю
Number::parseFloat(string: $string, locale: 'fr');
// З нестандартним типом
Number::parse(
string: $string,
type: NumberFormatter::TYPE_INT64,
locale: 'fr',
);
Ось приклад використання цих методів у системі фінансової звітності:
class FinancialDataProcessor
{
public function processReportData(array $reportData, string $locale)
{
return [
'revenue' => Number::parseFloat($reportData['revenue'], locale: $locale),
'expenses' => Number::parseFloat($reportData['expenses'], locale: $locale),
'transactions' => Number::parseInt($reportData['transactions'], locale: $locale),
'margin' => Number::parse(
string: $reportData['margin'],
type: NumberFormatter::TYPE_DOUBLE,
locale: $locale
)
];
}
public function importFinancialData(string $filePath, string $locale)
{
$records = [];
foreach ($this->readSpreadsheet($filePath) as $row) {
$records[] = [
'amount' => Number::parseFloat($row['amount'], locale: $locale),
'commission' => Number::parseFloat($row['commission'], locale: $locale),
'units' => Number::parseInt($row['units'], locale: $locale)
];
}
return $records;
}
}
$processor = new FinancialDataProcessor();
// Формат італійською: "1.234,56" перетворюється на 1234.56
$italianData = $processor->processReportData([
'revenue' => '1.234,56',
'expenses' => '456,78',
'transactions' => '25'
], 'it');
// Формат іспанською: "1.234,56" перетворюється на 1234.56
$spanishData = $processor->processReportData([
'revenue' => '1.234,56',
'expenses' => '456,78',
'transactions' => '25'
], 'es');
Ці методи парсингу автоматично обробляють різноманітність форматів чисел, роблячи ваші міжнародні застосунки більш надійними та зручними для користувачів
Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel
Laravel пропонує потужні можливості повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до бази даних. Дізнайтеся, як реалізувати ефективний пошук для вашого блогу чи системи управління контентом
PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення