LoginSignup
7
3

More than 3 years have passed since last update.

【PHP】Laravelのデバッグ・変数の確認方法(var_export, dump, dd関数)

Last updated at Posted at 2021-01-05

PHPのデバッグ方法がいくつかあるらしいので調べてみた。

PHPの場合

  1. var_export関数
  2. error_log関数

Laravelの場合

  1. dump関数
  2. dd関数


PHPのデバッグ方法

1. var_export関数を使う

var_export関数で変数の中身を確認することができる。

よく使われるvar_dumpよりも有効性が高く、出力は有効なPHPコードになる。

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

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($変数名);

ただし、使用にはコード冒頭でエラーログのオプションをONにし、ログの出力先ファイルを指定が必要。

冒頭への記述
ini_set("log_errors", "on")
ini_set("error_log", "ファイルパス&ファイル名")



また、変数が配列の場合は、以下のようにする必要がある。
error_log(print_r($変数名), true);


Laravelのデバッグ方法

Laravelの場合、dump関数やdd関数を使うと画面上に背景黒・文字色白で選択したデータを表示することができる。

dump関数とdd関数の違い

dump関数は通常の画面 + dump関数を記述した位置にその内容が表示される。つまり、そのページのコードをすべて読み込む。

一方で、dd関数はdd関数の内容のみの表示となる。


1. dump関数

.blade.php
@php
  dump($tdth);
@endphp

▼ブラウザの表示例

image.png

変数の内容以外のリソースも表示される。


2. dd関数

dd関数とは「dump and die」の略。

意味は、変数の内容を表示(dump)するが、それ以降は実行されない(die)。

.blade.php
@php
  dd($tdth);
@endphp

▼ブラウザの表示例

image.png

指定した変数の内容のみを表示する。

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3