我需要知道如何在 Laravel 项目中正确使用
dd()
函数。
例如 - 我的任务是调试项目(PHP /Laravel)中的某些代码和功能,并且我总是需要很长时间才能找到问题所在的确切文件或文件夹或代码。
我的导师说使用
dd()
功能可以更快地找到东西(但出于学习目的,他没有向我详细解释如何实际使用它并说要自己找出答案),但说我应该从 Route 开始(我们的项目也使用背包)。因此,在找到路线(custom.php 文件)后,哪个控制器连接到我所需的路线,接下来我应该做什么?
我如何实现
dd()
功能(或者正如我的导师所说的 dd('call here')
功能)来快速找到我应该寻找的内容来解决我的问题并完成我的任务?
我应该在哪里写这个
dd()
以及该怎么写?
例如我有:
public function create(): View
{
return view('xxxxxx. \[
//
//
\]);
}
如果我将
dd()
放在代码中的任何位置,我的 URL 中就会收到错误消息。
首先,在 Laravel 中,我们在 return 之前使用 dd() 来读取任何变量。 在控制器中,我们经常使用两种变量:集合(我们通过 foreach 获取其成员)或单数变量(我们通过其名称获取)例如:$var = 1; dd($var). 注意: 如果您使用ajax响应,您将无法在页面中看到dd()结果,您可以通过浏览器中的网络选项卡查看结果(如果您检查页面)。
dd 代表“转储并死亡”。
Laravel 的 dd() 函数可以定义为辅助函数,用于将变量的内容转储到浏览器并阻止进一步的脚本执行。
示例:
dd($users,$variable1,$var2);
您可以在blade中使用dd()
@foreach($users as $user)
@dd($user)
OR
{{dd($user)}}
@endforeach
@dd($var1)
你可以阅读这篇文章,里面有更多的例子和比较 https://shouts.dev/articles/laravel-dd-vs-dump-vs-vardump-vs-printr-with-example
由于 Laravel 遵循模型-视图-控制器或 MVC 设计模式。首先进入路由,查看相关URL中的URL中调用了哪个控制器。 然后转到控制器。
**dd**()
功能基本上就是转储和死亡。您也可以通过 **print**
或 **echo**
函数来完成此操作。
假设我有一个控制器名称
ProductController
,其中有方法名称index
。我需要在表格中显示产品列表。
// 在控制器中
public function index()
{
$products = Products::all();
// here you think ,I need to check whether I am getting the output or
not.
dd( $products );
//Or echo $products;
return view ('product.list',compact('products'));
}
假设您得到了所有内容,但在循环遍历产品时,您声明了错误的变量名称或错误地犯了一些拼写错误。并想看看结果。
在 view 中只需按以下方式执行
dd
() 方法:
{{ dd($products) }}