findAll の戻り値のデータ型は何ですか、エラーが発生する理由は何ですか、などの質問をする人をよく見かけます。実際、私は、組み込みのデバッグ方法や ThinkPHP のメソッドにはまだ慣れていません。 IDE 自体に付属するデバッグ方法は言うまでもありませんが、ThinkPHP を使用して開発する場合は、ThinkPHP プログラムのデバッグに関連する次の方法を理解して習得する必要があります。
1. プロジェクト構成ファイルでデバッグ モード DEBUG_MODE をオンにすると、エラーのほとんどの原因を見つけることができます。検証コードの出力に影響を与える可能性があります。
2. デバッグモードを使用したくない場合は、ページトレース表示を個別にオンにすることができます。多くの人がデバッグ モードを使用したくない理由は、実際にはページ トレース情報の出力にあることがわかりました。これには、デバッグ モードにはページ トレースが必要であると考えられている誤解がありますが、実際には、デバッグ モードとページ トレースは必ずしも関連しているわけではありません。デバッグ モードをオンにすると、システムのデフォルトのデバッグ構成ファイルによってページ トレースの表示が有効になるため、プロジェクトに対して別のデバッグ構成ファイルを定義できます。
3. システム定義のダンプ関数を使用します。このメソッドは、var_dump などのあらゆるタイプの変数情報を出力でき、ブラウザで表示する場合に便利です。 リーリー
4. ページのトレース情報は、現在のページで実行された SQL ステートメントのみを表示できますが、Ajax モードで実行されたバックグラウンド操作の SQL ステートメントを表示することはできないため、SQL ログ SQL_DEBUG_LOG を有効にして、実行された各 SQL ステートメントを記録することもできます。各 SQL ステートメントの実行時間を表示できます。SQL ログ ファイルは Logs ディレクトリに保存され、日付によって自動的に区別されます。
5. もう 1 つは、特定のデータ操作を実行した後の SQL 実行にエラーがあると思われる場合、モデル クラスの getLastSql メソッドを使用して、最後に実行された SQL ステートメントを表示して、エラーの特定の原因を分析することができます。 。例: リーリー
6. 特定のコード部分の実行時間をデバッグする必要がある場合は、システムによって提供される debug_start($label) メソッドと debug_end($label) メソッドを使用できます。例:
$User=D("User"); $list=$User->findAll(); dump($list);