当前位置: 首页 > 知识库问答 >
问题:

Laravels的DD辅助功能是否正常工作?

东郭臻
2023-03-14

我喜欢使用dd函数进行调试。这次当我用它来显示约会列表时,我看不到(没有可点击的箭头)属性和原始数据。我得到括号[...19]显示,不知道为什么。

Collection {#3061 ▼
  #items: array:548 [▼
    0 => Appointment {#821 ▼
      #table: "appointments"
      #fillable: array:16 [ …16]
      #connection: null
      #primaryKey: "id"
      #perPage: 15
      +incrementing: true
      +timestamps: true
      #attributes: array:19 [ …19]
      #original: array:19 [ …19]
      #relations: array:2 [ …2]
      #hidden: []
      #visible: []
      #appends: []
      #guarded: array:1 [ …1]
      #dates: []
      #dateFormat: null
      #casts: []
      #touches: []
      #observables: []
      #with: []
      #morphClass: null
      +exists: true
      +wasRecentlyCreated: false
    }
    1 => Appointment {#822 ▶}
    2 => Appointment {#823 ▶}
    3 => Appointment {#824 ▶}
    4 => Appointment {#825 ▶}
    5 => Appointment {#826 ▶}
    6 => Appointment {#827 ▶}
    7 => Appointment {#828 ▶}

在列表的后面,我甚至看不到约会的内部(没有箭头):

    81 => Appointment {#902 ▶}
    82 => Appointment {#903 ▶}
    83 => Appointment {#904 ▶}
    84 => Appointment {#905 ▶}
    85 => Appointment {#906 …23}
    86 => Appointment {#907 …23}
    87 => Appointment {#908 …23}
    88 => Appointment {#909 …23}
    89 => Appointment {#910 …23}
    90 => Appointment {#911 …23}

但当我使用var_dump时,我的数据看起来很好:

    array(548) {
      [0]=>
      array(21) {
        ["id"]=>
        int(149)
        ["appointmenttype_id"]=>
        NULL
        ["appointmentlocationtype_id"]=>
        NULL
        ["appointment_start"]=>
        object(Carbon\Carbon)#812 (3) {
          ["date"]=>
          string(26) "2015-12-21 07:00:00.000000"
          ["timezone_type"]=>
          int(3)
          ["timezone"]=>
          string(16) "America/New_York"
        }
        ["appointment_end"]=>
        object(Carbon\Carbon)#811 (3) {
          ["date"]=>
          string(26) "2015-12-21 09:00:00.000000"
          ["timezone_type"]=>
          int(3)
          ["timezone"]=>
          string(16) "America/New_York"
        }

有人经历过这种情况吗?

共有3个答案

万俟均
2023-03-14

我已经找到了解决这个问题的方法,尽管不推荐,如果您真的希望整个对象被转储,请将以下代码片段添加到 /bootstrap/autoload.php

if (! function_exists('dd')) {
    /**
     * Dump the passed variables and end the script.
     *
     * @param  mixed
     * @return void
     */
    function dd()
    {
        array_map(function ($x) {
            $dumper = 'cli' === PHP_SAPI ? new \Symfony\Component\VarDumper\Dumper\CliDumper() : new \Illuminate\Support\Debug\HtmlDumper();
            $cloner = new \Symfony\Component\VarDumper\Cloner\VarCloner();
            $cloner->setMaxItems(-1);
            $cloner->setMaxString(-1);
            $dumper->dump($cloner->cloneVar($x));
       }, func_get_args());

        die(1);
    }
}

必须将其添加到行上方:

需要目录。'//供应商/自动加载。php′;

它会覆盖laravel dd函数,并在转储之前在Symfony VarCloner对象上设置“setMaxItems”和“setMaxString”。

皇甫飞宇
2023-03-14

dd()中没有错误,只是底层症状VarDumper是如何配置的。

我相信有问题的行是将$maxDepth设置为20的行,但我还没有检查过。

查看Laravel转储程序逻辑,似乎无论如何都无法从Laravel内部覆盖该逻辑。

蒋弘致
2023-03-14

这是一个不太为人所知的警告,即返回的结果列表太大。通常,dd()是对返回的数据的快速概述,可以很好地“深入”处理较小的数据组。一旦你达到某个数字(我忘了确切的数字,可能是500?),这一功能不再有效。

如果在某个地方的代码中使用此数据之前您确实需要查看此数据,请在获取结果之前使用limit()子句,或者使用dd($example[0])查看单个结果的详细信息。希望有帮助!

 类似资料:
  • 为程序制作辅助功能是很重要的。在这里,我们很高兴地向你们介绍Devtron和Spectron。这两个新功能有机会使开发者们让他们的应用程序更加可用。 Electron 应用中有关辅助功能的开发和网站是相似的,因为两者最终使用的都是HTML. 然而, 对于Electron应用, 你不能使用在线的辅助功能审查者, 因为你的应用没有一个URL可以提供给审查者. 然而这些新功能将这些审查工具带到您的Ele

  • 为程序制作辅助功能是很重要的。在这里,我们很高兴地向你们介绍Devtron和Spectron。这两个新功能有机会使开发者们让他们的应用程序更加可用。 Electron 应用中有关辅助功能的开发和网站是相似的,因为两者最终使用的都是HTML. 然而, 对于Electron应用, 你不能使用在线的辅助功能审查者, 因为你的应用没有一个URL可以提供给审查者. 这些功能将会提供一些审查工具给你的Elec

  • 扩展使用者能够根据个人的能力和偏好创建理想的浏览体验。 扩展程序应包括可访问性组件,该组件通过使视力障碍,听力受损,肢体受限和其他残障人士能够访问扩展程序,从而鼓励包容性用户群。 每个人,不仅是有特殊需求的用户,都可以从辅助功能中受益。 视力障碍,肢体受限用户都将从键盘快捷键中受益。 字幕和笔录对聋哑用户至关重要,但也对语言学习者有所帮助。 人们可以通过多种方式与扩展互动。一些用户具有标准的显示器

  • 一般来说,可访问性意味着可用性,内容可访问意味着内容可用。 在软件方面,应用程序可访问意味着应用程序可供所有人使用。 在这里,所有意味着残疾人,视障者或使用屏幕阅读器使用计算机的人或者喜欢使用键盘而不是使用鼠标导航的人。 用键盘导航而不是使用鼠标。 可访问的应用程序称为ARIA(可访问的富Internet应用程序)。 Ext JS中的辅助功能 Ext JS旨在记住它应该适用于所有键盘导航。 它具有

  • 本文向大家介绍Android辅助功能AccessibilityService与抢红包辅助,包括了Android辅助功能AccessibilityService与抢红包辅助的使用技巧和注意事项,需要的朋友参考一下 推荐阅读:Android中微信抢红包插件原理解析及开发思路 抢红包的原理都差不多,一般是用Android的辅助功能(AccessibilityService类)先监听通知栏事件或窗口变化事

  • 我对jQuery提交功能有一些疑问。 这里是工作环境 jQuery:1.7。2,铬(18.0.1025.168米)。 有两个问题。 第一: 我的密码是这样的 HTML jQuery 问题是它在firefox和opera中运行良好,但在chrome中运行良好。 2st: html:如上所述。 jQuery: 它在火狐、歌剧和铬合金中不起作用。它总是触发form.submit原因。 我很困惑。谁能弄清