ThinkPHPで身につけるべきデバッグ手段を使う
2023 ワード
ThinkPHPで身につけるべきデバッグ手段を使うとfindAllの戻りデータ型が何なのかという質問や、何が原因なのか分からないエラーがあった場合、実はThinkPHPに内蔵されたデバッグ手段や方法に慣れていないので、IDE自身が持っているデバッグ方式を捨てて言わないで、ThinkPHPで開発しているか、あるいはでは、次のデバッグに関する方法を理解しておく必要があります.1、プロジェクトプロファイルでデバッグモードDEBUGを開きます.MODE、これにより、ほとんどのエラーの原因を発見することができます.検証コードの出力に影響を与える可能性があります.2、デバッグモードを使用したくない場合は、ページトレース表示を個別にオンにすることができます.多くの人がデバッグモードを使用したくない原因は意外にもページトレース情報の出力があるためで、実はこの中に1つの誤区があって、デバッグモードは必ずページトレースがあると思っていますが、実はデバッグモードとページトレースは必然的な関係がありません.ただ、デバッグモードを開くと、システムのデフォルトのデバッグプロファイルがページトレース表示を開くためです.プロジェクトにデバッグプロファイルを個別に定義することができます.3、システム定義のdump関数を使用して、この方法はvar_と同じである.dumpは任意のタイプの変数情報を出力し、ブラウザで表示するのに役立ちます.たとえば、次のようにします.
4、ページトレース情報は現在のページで実行されているsql文しか表示できませんが、ajax方式で実行されているバックグラウンド操作のsql文は表示できませんので、sqlログSQL_を開くこともできます.DEBUG_LOGは、各実行のsql文を記録し、各sql文の実行時間sqlログファイルがLogsディレクトリの下にあることを確認し、毎日のsqlログを自動的に日付で区別します.5、もう1つは、あるデータ操作を実行した後にsqlの実行に誤りがあることを疑う場合、モデルクラスのgetLastSqlメソッドを使用して、前回実行したsql文を表示し、具体的な誤り原因を分析することができる.例:
6、あるコードの実行時間をデバッグする必要がある場合、システムが提供するdebug_を使用することができる.start($label)とdebug_end($label)メソッド:
$User = D("User");
$list = $User->findAll();
dump($list);
4、ページトレース情報は現在のページで実行されているsql文しか表示できませんが、ajax方式で実行されているバックグラウンド操作のsql文は表示できませんので、sqlログSQL_を開くこともできます.DEBUG_LOGは、各実行のsql文を記録し、各sql文の実行時間sqlログファイルがLogsディレクトリの下にあることを確認し、毎日のsqlログを自動的に日付で区別します.5、もう1つは、あるデータ操作を実行した後にsqlの実行に誤りがあることを疑う場合、モデルクラスのgetLastSqlメソッドを使用して、前回実行したsql文を表示し、具体的な誤り原因を分析することができる.例:
$User = D("User");
$User->id = 3;
$User->name = 'ThinkPHp';
$User->save();
echo $User->getLastSql();
// update think_user set name='ThinkPHP' where id=3;
6、あるコードの実行時間をデバッグする必要がある場合、システムが提供するdebug_を使用することができる.start($label)とdebug_end($label)メソッド:
debug_start('demo');
// .......
debug_end('demo');