ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP_PHP チュートリアルを使用する際に習得すべきデバッグ方法を分析する

ThinkPHP_PHP チュートリアルを使用する際に習得すべきデバッグ方法を分析する

WBOY
WBOYオリジナル
2016-07-21 15:05:46847ブラウズ

ThinkPHPを使う上でマスターすべきデバッグ方法
findAllの戻り値のデータ型は何なのか、原因が分からずにエラーが発生した場合などの質問をしている人をよく見かけますが、実は私もまだよくわかっていません。 IDE 自体に付属するデバッグ メソッドとは別に、ThinkPHP を使用して開発を行っている場合、または使用する予定がある場合は、次のデバッグ関連のメソッドを理解して習得する必要があります。
1. プロジェクト構成ファイルで、デバッグ モード DEBUG_MODE をオンにします。これにより、ほとんどのエラーを見つけることができます。検証コードの出力に影響を与える可能性があります。

2. デバッグモードを使用したくない場合は、ページトレース表示を個別にオンにすることができます。多くの人がデバッグ モードを使用したくない理由は、実際にはページ トレース情報の出力のためであることがわかりました。実際には、デバッグ モードにはページ トレースが必要であると考えられています。実際、デバッグ モードとページ トレースの間には必要な関係はありません。デバッグ モードをオンにした後は、システムのデフォルトのデバッグ構成ファイルによってページ トレースの表示が有効になるため、プロジェクトに対して別のデバッグ構成ファイルを定義できます。

3. システム定義のダンプ関数を使用します。このメソッドは、var_dump のような任意のタイプの変数情報を出力でき、ブラウザで表示する方が便利です。例:

コードをコピーします。
$ 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();
// 出力更新 think_user set name='ThinkPHP' where id=3;


6 デバッグが必要な場合。特定のコード部分の実行時間 の場合、システムが提供する debug_start($label) メソッドと debug_end($label) メソッドを使用できます。たとえば、次のようになります。


コードをコピーします コードは次のとおりです。
debug_start('demo');
// これはあなたです コードスニペット....
debug_end('demo');


http://www.bkjia.com/PHPjc/327678.html

tru​​ehttp://www.bkjia.com/PHPjc/327678.html技術記事 ThinkPHP を使う際にマスターすべきデバッグ方法 findAll の戻り値のデータ型は何ですか、という質問をよく見かけますが、実際のところ、エラーの原因はまだわかっていません...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。