Laravel offers many global helper functions that make your code cleaner and easier to write. In this post, I’ll show you 10 helper functions I often use in real projects — they can help you write better and more readable code.
class_basename()
Get only the class name, without the namespace.
class_basename(App\Models\User::class); // 'User'
collect()
Create a collection from an array great for working with data.
collect([1, 2, 3])->map(fn($n) => $n * 2); // [2, 4, 6]
str() and Str::of()
Useful for working with strings in a fluent way.
Str::of('Laravel')->lower()->append(' rocks!'); // 'laravel rocks!'
throw_if() and throw_unless()
Throw an exception if a condition is true or false.
throw_if(!$user, new Exception('User not found'));
value()
Returns a value or runs a closure and returns the result.
$value = value(fn() => 'Generated dynamically');
// 'Generated dynamically'
retry()
Try something again a few times until it works or fails.
$response = retry(3, function () {
return Http::get('https://api.example.com');
}, 100);
tap()
Run an action on a value and return the value.
$user = tap(User::find(1), function ($user) {
$user->logAccess();
});
blank() and filled()
Check if a value is "empty" or "filled", more flexible than empty()
.
blank(''); // true
filled('Laravel'); // true
optional()
Avoids errors when working with null objects.
$user = null;
$name = optional($user)->name; // null, no error
data_get()
Safely get a value from a nested array or object.
$data = ['user' => ['name' => 'Ana']];
$name = data_get($data, 'user.name'); // 'Ana'
Conclusion
Laravel helpers are great tools for writing clean, expressive code. If you’re not using them yet, give them a try in your next project and feel the difference.