PHPのデバッグ方法がいくつかあるらしいので調べてみた。
PHPの場合
Laravelの場合
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関数
@php
dump($tdth);
@endphp
▼ブラウザの表示例
変数の内容以外のリソースも表示される。
2. dd関数
dd関数とは「dump and die」の略。
意味は、変数の内容を表示(dump)するが、それ以降は実行されない(die)。
@php
dd($tdth);
@endphp
▼ブラウザの表示例
指定した変数の内容のみを表示する。