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

Перекладено ШІ
Оригінал: 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 на масиви або перевіряти окремі властивості, просто щоб з'ясувати, чи містить екземпляр будь-які дані