Laracode
Laracode

Обрабатывайте данные с помощью метода transform()

Элегантно модифицировать данные Laravel предлагает при помощи метода transform(). Этот хелпер позволяет выборочно преобразовывать данные и обрабатывая нулевые значения.

<?php

// Вместо
$displayName = $user->name ? ucwords($user->name) : 'Guest';

// Более элегантное решение
$displayName = transform($user->name, fn ($name) => ucwords($name), 'Guest');

// Базовое использование
$result = transform('hello world', fn ($text) => strtoupper($text));
// 'HELLO WORLD'
 
// Если значение null, вернется дефолтное значение
$result = transform(null, fn ($value) => $value * 2, 'default');
// 'default'

Функция transform() принимает три параметра для обработки ваших данных:

  • Значение для преобразования

  • Функция обратного вызова для не нулевых значений

  • Дефолтное значение для нулевых случаев (не обязательный параметр)

Реальный пример

<?php

namespace App\Services;

class CacheService
{
    public function getCacheTimeout()
    {
        return transform(
            config('cache.timeout'),
            fn ($timeout) => $timeout * 60,
            3600
        );
    }
}