Директива dump
Директива dump предназначена для вывода содержимого переменных
в процессе отладки представлений. Она принимает любое количество
аргументов и выводит их структурированную информацию, используя
встроенный в Laravel дебаггер. Директива не останавливает выполнение
скрипта, в отличие от dd.
Синтаксис
@dump($variable)
Можно передать несколько переменных через запятую:
@dump($var1, $var2, $var3)
Пример
Давайте выведем массив данных в Blade-шаблоне:
@php
$users = [
['id' => 1, 'name' => 'John'],
['id' => 2, 'name' => 'Jane'],
['id' => 3, 'name' => 'Bob']
];
@endphp
<h1>Users</h1>
@dump($users)
Результат выполнения кода:
<h1>Users</h1>
<div class="sf-dump">
Array (3 items)
0 => Array (2 items)
id => 1
name => "John"
1 => Array (2 items)
id => 2
name => "Jane"
2 => Array (2 items)
id => 3
name => "Bob"
</div>
Пример
Директива dump может принимать несколько аргументов:
@php
$user = 'John Doe';
$age = 30;
$isActive = true;
@endphp
@dump($user, $age, $isActive)
Результат выполнения кода:
<div class="sf-dump">
"John Doe"
</div>
<div class="sf-dump">
30
</div>
<div class="sf-dump">
true
</div>
Пример
Отладка коллекции из контроллера. В контроллере мы передаём данные:
<?php
namespace AppHttpControllers;
use AppModelsUser;
use IlluminateViewView;
class UserController extends Controller
{
public function index(): View
{
$users = User::all();
return view('users', ['users' => $users]);
}
}
?>
В шаблоне используем dump для проверки данных:
<h1>Users List</h1>
@dump($users)
@foreach ($users as $user)
<p>{{ $user->name }}</p>
@endforeach
Результат выполнения кода:
<h1>Users List</h1>
<div class="sf-dump">
App\Models\User Collection (3 items)
0 => App\Models\User (5 items)
id => 1
name => "John"
email => "john@example.com"
created_at => "2024-01-01 10:00:00"
updated_at => "2024-01-01 10:00:00"
... (and 2 more items)
</div>
<p>John</p>
<p>Jane</p>
<p>Bob</p>