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関数
.blade.php
@php
dump($tdth);
@endphp
▼ブラウザの表示例
変数の内容以外のリソースも表示される。
###2. dd関数 dd関数とは「dump and die」の略。
意味は、変数の内容を表示(dump)するが、それ以降は実行されない(die)。
.blade.php
@php
dd($tdth);
@endphp
▼ブラウザの表示例
指定した変数の内容のみを表示する。