Методи isEmpty і isNotEmpty у Laravel Fluent

1
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 04 лютого, 2026
Нові методи `isEmpty()` та `isNotEmpty()` у класі Fluent спрощують перевірку наявності даних в екземплярах. Чи готові ви дізнатися, як ці функції можуть значно полегшити вашу роботу з конфігураціями в Laravel? Читайте далі

У класі Fluent тепер з'явилися методи isEmpty() та isNotEmpty(), які дозволяють перевіряти, чи містить екземпляр дані

Раніше для перевірки наявності даних у екземплярі Fluent доводилося використовувати непрямі методи:

use Illuminate\Support\Fluent;

$fluent = new Fluent(['name' => 'Laravel News']);

if (count($fluent->toArray()) > 0) {
    // Має вміст
}

if (isset($fluent->name) || isset($fluent->url)) {
    // Має певний вміст
}

Нові методи забезпечують прямі булеві перевірки:

$populated = new Fluent(['name' => 'Laravel News', 'url' => 'https://laravel-news.com']);
$empty = new Fluent();

$populated->isEmpty();    // false
$populated->isNotEmpty(); // true

$empty->isEmpty();        // true
$empty->isNotEmpty();     // false

Обробка конфігурацій демонструє практичне застосування:

use Illuminate\Support\Fluent;

class ConfigurationProcessor
{
    public function processSection(Fluent $config)
    {
        if ($config->isEmpty()) {
            return $this->getDefaultConfiguration();
        }

        return $this->buildConfigurationArray($config);
    }

    public function mergeConfigurations(array $sections)
    {
        $merged = new Fluent();

        foreach ($sections as $section) {
            if ($section->isNotEmpty()) {
                $merged = $merged->merge($section->toArray());
            }
        }

        return $merged->isNotEmpty() ? $merged : $this->getDefaultConfiguration();
    }
}

Ці методи можуть використовуватися в умовній логіці без перетворення в масив:

if ($configData->isNotEmpty()) {
    $this->processConfiguration($configData);
} else {
    $this->loadDefaultConfiguration();
}

Завдяки цим методам відпадає необхідність перетворювати екземпляри Fluent на масиви або перевіряти окремі властивості, просто щоб з'ясувати, чи містить екземпляр будь-які дані

Популярні

Logomark Logotype

Оптимізація запитів до бази даних за допомогою скорочених методів Laravel

Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!

Logomark Logotype

Випущено Livewire 3.6

Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!

Logomark Logotype

Перетворення даних у типобезпечні DTO за допомогою пакету Data Model

Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю