[PHP] Laravel debug?如何检查变量(var_export,dump,dd函数)


似乎有几种调试PHP的方法,因此我进行了查找。

对于PHP

  • var_export函数
  • error_log函数
  • 对于Laravel

  • 转储功能
  • dd功能
  • 如何调试PHP

    1.使用var_export函数

    您可以使用

    var_export函数检查变量的内容。

    输出比有效的var_dump更有效,它是有效的PHP代码。

    var_export ( $expression [, bool $return = false ] )

    1
    2
    3
    4
    5
    6
    7
    php > $obj = array("a" => 1, "b" => 2, "c" => 3);
    php > var_export($obj);
    array (
      'a' => 1,
      'b' => 2,
      'c' => 3,
    )

    输出结果是array('a' => 1, 'b' => 2, 'c' => 3),这是关联数组本身的定义。

    > var_dump,var_export,print_r之间??差异的摘要

    2. error_log函数

    如何将错误输出到日志文件并将其显示在控制台上。

    error_log($変数名);

    但是,要使用它,您需要在代码开头打开错误日志选项,并指定日志输出目标文件。

    开头的说明

    1
    2
    ini_set("log_errors", "on")
    ini_set("error_log", "ファイルパス&ファイル名")

    如果变量是数组,则应如下所示。
    error_log(print_r($变量名),true);

    如何调试Laravel

    对于

    Laravel,可以使用转储功能或dd功能以黑色背景或白色文本在屏幕上显示所选数据。

    转储功能和dd功能之间的区别

    转储功能的内容显示在正常屏幕+上描述转储功能的位置。也就是说,加载该页面的所有代码。

    另一方面,dd功能仅显示dd功能的内容。

    1.转储功能

    .blade.php

    1
    2
    3
    @php
      dump($tdth);
    @endphp

    ▼浏览器显示示例

    <表格>

    image.png


    <身体>

    还显示除

    变量内容以外的资源。

    2. dd功能

    dd函数是" dump and die"的缩写。

    含义是转储变量的内容,但此后不执行(死)。

    .blade.php

    1
    2
    3
    @php
      dd($tdth);
    @endphp

    ▼浏览器显示示例

    <表格>

    image.png


    <身体>

    仅显示指定变量的内容。