Функция dump
Функция dump применяется для отладки приложений Laravel. Она выводит содержимое переданных переменных с подсветкой синтаксиса и структурой данных. Первым параметром передаётся переменная для вывода, последующие параметры также будут выведены. В отличие от встроенной var_dump, функция предоставляет более читаемый вывод и интегрируется с отладочной панелью Laravel.
Синтаксис
<?php
dump($variable, $anotherVariable);
?>
Пример
Давайте выведем информацию о простом массиве с данными:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppModelsUser;
class UserController extends Controller
{
public function index()
{
$users = User::all()->toArray();
dump($users);
return view('users.index');
}
}
?>
Результат выполнения кода:
[
[
"id" => 1,
"name" => "John Doe",
"email" => "john@example.com",
"created_at" => "2026-01-15 10:00:00",
],
[
"id" => 2,
"name" => "Jane Smith",
"email" => "jane@example.com",
"created_at" => "2026-01-16 11:30:00",
]
]
Пример
Выведем несколько переменных одновременно с указанием их типов:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
class ArticleController extends Controller
{
public function show($id)
{
$article = Article::find($id);
$status = $article->status ?? 'draft';
$views = $article->views ?? 0;
dump($article, $status, $views);
return view('articles.show', compact('article'));
}
}
?>
Результат выполнения кода:
AppModelsArticle {#123
"id": 5,
"title": "Laravel Debugging",
"body": "Content of the article...",
"status": "published",
"views": 150,
"created_at": "2026-01-20 09:15:00",
"updated_at": "2026-01-20 09:15:00"
}
"published"
150
Пример
Использование в Blade-шаблоне для отладки данных, переданных во вьюху:
@extends('layouts.app')
@section('content')
<h1>Users List</h1>
@php
dump($users);
@endphp
@foreach ($users as $user)
<div>{{ $user->name }} - {{ $user->email }}</div>
@endforeach
@endsection
Результат выполнения кода в браузере:
<pre class="dump">
Collection {#456
"items": [
{
"id": 1,
"name": "John Doe",
"email": "john@example.com"
},
{
"id": 2,
"name": "Jane Smith",
"email": "jane@example.com"
}
]
}
</pre>
Пример
Выведем содержимое сложного вложенного массива с различными типами данных:
<?php
use IlluminateSupportFacadesRoute;
Route::get('/debug', function () {
$data = [
'user' => [
'id' => 1001,
'profile' => [
'name' => 'Alex',
'age' => 28,
'is_active' => true,
'hobbies' => ['coding', 'reading', 'gaming'],
],
'metadata' => null
],
'settings' => (object) [
'theme' => 'dark',
'notifications' => false
]
];
dump($data);
return 'Debug output completed';
});
?>
Результат выполнения кода:
[
"user" => [
"id" => 1001,
"profile" => [
"name" => "Alex",
"age" => 28,
"is_active" => true,
"hobbies" => ["coding", "reading", "gaming"]
],
"metadata" => null
],
"settings" => {
"theme": "dark",
"notifications": false
}
]
Смотрите также
-
функция
dd,
которая выводит данные и останавливает выполнение скрипта -
функция
logger,
которая записывает сообщение в лог-файл -
класс
Log,
который предоставляет методы для логирования -
класс
Collection,
который содержит методы для работы с наборами данных