在Laravel项目中如何使用DD()方法?

5
我知道对于某些人来说可能是个愚蠢或有趣的问题(但我是新手),但我需要找到正确使用 Laravel 项目中的 DD() 方法的方法。
例如- 我得到了调试我的项目(PHP Laravel)中某些代码和功能的任务。我总是花很长时间才能找到确切的文件、文件夹或代码位置。
我的导师建议使用 DD() 方法以更快地查找问题(但出于学习目的,他没有详细解释如何实际使用它,并说让我自己找到答案),但是他说我应该从路由开始(我们在项目中也使用 backpack)。那么,在找到与我所需路由连接的控制器的 Route(custom.php 文件)之后,我接下来该怎么做?我应该如何编写 dd() 方法(或者按照我的导师说法,dd('在这里调用') 方法)快速查找解决问题和完成任务所需的内容?我应该在哪里编写这个 dd() 方法,应该如何编写?
谢谢您提前的回答!
例如我有一个:
public function create(): View
{
return view('xxxxxx. \[
//
//
\]);
}

如果我在代码的任何地方放置dd(),就会在我的URL中收到错误消息 :(

3个回答

3

dd代表“Dump and Die”(转储并停止执行)。

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


非常感谢您的回答和解释 :) - Kar Smt

3

首先,在Laravel中,我们使用dd()在返回之前读取任何变量。 在控制器中,我们经常使用两种类型的变量:集合(通过foreach获取其成员)或单个变量(通过其名称获取它)。例如:$ var = 1; dd($ var)。 注意: 如果您正在使用ajax响应,则无法在页面上看到dd()结果,您可以通过浏览器中的网络选项卡查看结果(如果检查您的页面)。


非常感谢您的答案和解释 :) - Kar Smt

0

由于 Laravel 遵循模型-视图-控制器(MVC)设计模式。首先进入路由并检查与相关 URL 相关的控制器是哪个。 然后进入控制器。 **dd**() 函数基本上是一个 dump 和 die。您也可以使用 **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'));
}

假设您在循环产品时声明了错误的变量名称或错误地拼写了某些单词,导致在视图中获取到除了预期内容之外的所有内容。如果您想查看结果,请按照以下方式使用dd()方法:
{{ dd($products) }}

非常感谢您的回答和解释 :) - Kar Smt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接