Laravel Tutorials

Laravel Fluent isEmpty and isNotEmpty Methods

Published
Laravel Fluent isEmpty and isNotEmpty Methods image

The Fluent class now includes isEmpty() and isNotEmpty() methods for checking whether an instance contains data.

Previously, checking if a Fluent instance held any data required indirect approaches:

use Illuminate\Support\Fluent;
 
$fluent = new Fluent(['name' => 'Laravel News']);
 
if (count($fluent->toArray()) > 0) {
// Has content
}
 
if (isset($fluent->name) || isset($fluent->url)) {
// Has some content
}

The new methods provide direct boolean checks:

$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

Configuration processing shows practical usage:

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();
}
}

The methods work for conditional logic without array conversion:

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

These methods eliminate the need to convert Fluent instances to arrays or check individual properties just to determine if the instance contains any data.

Harris Raftopoulos photo

Senior Software Engineer • Staff & Educator @ Laravel News • Co-organizer @ Laravel Greece Meetup

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Fluent Rule Builders for All Laravel Validation Rules image

Fluent Rule Builders for All Laravel Validation Rules

Read article
Laravel URL AI Transformer: Extract Structured Data From URLs image

Laravel URL AI Transformer: Extract Structured Data From URLs

Read article
Rule Builders for Every Validation Rule in Laravel 13.36 image

Rule Builders for Every Validation Rule in Laravel 13.36

Read article
PHP News: A New Site for PHP Releases, RFCs, and Packages image

PHP News: A New Site for PHP Releases, RFCs, and Packages

Read article
Pause Polling in Background Tabs in Inertia.js v3.9 image

Pause Polling in Background Tabs in Inertia.js v3.9

Read article
Look What You Helped Me Build image

Look What You Helped Me Build

Read article