Маніпуляції зі строками в Laravel часто потребують заміни кількох плейсголдерів на динамічні значення. Laravel пропонує ефективне рішення за допомогою методу Str::replaceArray(), що спрощує складні заміни строк. Розгляньмо, як ця функція може поліпшити ваші можливості обробки строк.
Метод Str::replaceArray(), доступний в інструментах маніпуляції зі строками Laravel, дозволяє послідовно заміняти плейсголдери в строках, використовуючи масив значень. Це особливо корисно для динамічної генерації текстів і шаблонізації контенту.
use Illuminate\Support\Str;
$message = 'Ласкаво просимо до ?, ваш номер рахунку - ?';
$result = Str::replaceArray('?', ['Laravel', 'ACC-123'], $message);
echo $result; // Вивід: Ласкаво просимо до Laravel, ваш номер рахунку - ACC-123
Розгляньмо практичний випадок, де ми генеруємо персоналізовані підтвердження замовлення в електронній комерції:
<?php
namespace App\Http\Controllers;
use App\Models\Order;
use Illuminate\Support\Str;
use App\Notifications\OrderConfirmation;
class OrderController extends Controller
{
public function sendConfirmation(Order $order)
{
$template = 'Шановний(а) ?, ваше замовлення #? підтверджено. Ваші ? одиниці будуть доставлені до ? протягом ? робочих днів.';
$replacements = [
$order->customer->name,
$order->reference,
$order->items->count(),
$order->shipping_address,
$order->delivery_estimate,
];
$message = Str::replaceArray('?', $replacements, $template);
// Відправка підтвердження
$order->customer->notify(new OrderConfirmation($message));
return response()->json([
'status' => 'success',
'message' => 'Підтвердження замовлення надіслано'
]);
}
}
У цьому прикладі ми використовуємо Str::replaceArray() для створення персоналізованих підтверджень замовлення, замінюючи плейсголдери на реальні дані про замовлення. Це забезпечує точне та персоналізоване спілкування з кожним клієнтом щодо його замовлення