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

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 07 листопада, 2025
Нові методи `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

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

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

Logomark Logotype

Усе, що нам відомо про Livewire 4

Нова версія Livewire 4, представленої Келебом Порзіо на Laracon US 2025, обіцяє значні покращення у швидкості та організації компонентів. Які з інноваційних функцій підкорять ваше серце? Читайте далі, щоб дізнатися більше про те, як Livewire 4 полегшить вашу роботу