Метод Collection::wrap у Laravel забезпечує безперебійну конверсію різних типів даних у колекції, гарантуючи однакову обробку колекцій незалежно від формату вхідних даних
Метод wrap ефективно працює з різними типами значень:
use Illuminate\Support\Collection;
// Обгортка одного значення
$collection = Collection::wrap('Alice Smith');
// Результат: ['Alice Smith']
// Обгортка масиву
$collection = Collection::wrap(['Alice Smith']);
// Результат: ['Alice Smith']
// Обгортка існуючої колекції
$collection = Collection::wrap(collect('Alice Smith'));
// Результат: ['Alice Smith']
Ось приклад використання у сервісі сповіщень по електронній пошті:
class NotificationService
{
public function sendEmails($recipients, $message)
{
return Collection::wrap($recipients)
->map(fn($email) => $this->validateEmail($email))
->filter()
->each(fn($email) => $this->dispatch($email, $message));
}
public function assignCategories($product, $categories)
{
$currentCategories = $product->categories;
$newCategories = Collection::wrap($categories)
->unique()
->diff($currentCategories);
$product->categories()->sync($newCategories);
return $product;
}
public function formatNotifications($notifications)
{
return Collection::wrap($notifications)
->map(fn($notification) => [
'id' => $notification->id,
'message' => $notification->content,
'timestamp' => $notification->created_at
])
->sortByDesc('timestamp');
}
}
class AlertController extends Controller
{
public function broadcast(Request $request, NotificationService $service)
{
$alerts = AlertService::latest($request->limit);
return $service->formatNotifications($alerts);
}
}
Метод wrap забезпечує єдину обробку колекцій незалежно від типу вхідних даних, роблячи ваш код більш надійним і гнучким
Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку
Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше
Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!