Функция dd
Функция dd применяется для быстрой отладки данных в Laravel.
Она принимает одно или несколько значений, выводит их содержимое
в удобочитаемом форматированном виде и немедленно останавливает
дальнейшее выполнение скрипта. Функция доступна глобально
и не требует импорта дополнительных классов.
Синтаксис
<?php
dd($value1, $value2, ...);
?>
Функция принимает произвольное количество аргументов любого типа - строки, числа, массивы, объекты, коллекции и другие структуры данных.
Пример
Выведем содержимое простого массива и строки:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$str = 'article';
dd($arr, $str);
?>
Результат выполнения кода:
array:5 [
0 => "a"
1 => "b"
2 => "c"
3 => "d"
4 => "e"
]
"article"
Пример
Используем функцию для отладки данных модели Eloquent:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
class ArticleController extends Controller
{
public function index()
{
$article = Article::where('id', 1)->first();
dd($article->title, $article->text);
}
}
?>
Результат выполнения кода:
"article 1"
"text article 1"
Пример
Функция также полезна для проверки промежуточных значений в цепочках методов:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
class ArticleController extends Controller
{
public function index()
{
$res = Article::where('status', 'published')
->dd()
->get();
echo $res;
}
}
?>
Результат выполнения кода:
Builder {#123
+connection: MySqlConnection {#456}
+wheres: array:1 [
0 => array:3 [
"type" => "Basic"
"column" => "status"
"operator" => "="
"value" => "published"
"boolean" => "and"
]
]
+limit: null
+offset: null
+order: []
}
Пример
Используем функцию для отладки коллекции:
<?php
use IlluminateSupportCollection;
$coll = collect(['a', 'b', 'c', 'd', 'e']);
$res = $coll->map(function ($item) {
return strtoupper($item);
})->dd();
?>
Результат выполнения кода:
Collection {
#items: array:5 [
0 => "A"
1 => "B"
2 => "C"
3 => "D"
4 => "E"
]
}
Пример
Выведем содержимое нескольких переменных одновременно:
<?php
$name = 'user';
$age = 25;
$is_active = true;
$data = ['a', 'b', 'c'];
dd($name, $age, $is_active, $data);
?>
Результат выполнения кода:
"user"
25
true
array:3 [
0 => "a"
1 => "b"
2 => "c"
]