CakePHPでは、開発するときに便利なさまざまなデバッグ機能を使用できるDebuKitが提供されています。
この記事では、
・DebugKitとは
・DebugKitの使い方
・DebugKitの主な機能
という基本的な内容から、
・DebugKitを非表示にする方法
などの応用的な使い方に関しても解説していきます。
ここではそんなDebugKitの使い方について、分かりやすく解説します!
DebugKitとは
DebugKitは、CakePHPで作成されたアプリケーションを簡単にデバックするためのツールです。
DebugKitを使いこなすことで、アプリケーションのデバッグを効率化することができます。
CakePHP2.x系まではDebugKitを使用するために手動でのインストールが必要でしたが、CakePHP3.x系からはデフォルトでインストールされています。
そのため、CakePHPを起動していればすぐに使用することが可能です。
ここではそんなDebugKitについて、主な機能を1つずつ解説していきます。
DebugKitの使い方
DebugKitはCakePHPのトップページ「http://localhost:8888/Cakeのアプリケーション名」の右下にあるCakePHPのログをクリックすれば、ツールバーが表示されてDebugKitの各機能を確認することができます。
もし誤って削除してしまった場合は、以下のコマンドをアプリケーションのルートディレクトリから実行して再インストールする必要があります。
php composer.phar require --dev cakephp/debug_kit "~3.0"
プラグインの有効化
bin/cake plugin load DebugKit
詳細は「CakePHP 3.5 Red Velvet Cookbook」を参照してください。
https://book.cakephp.org/3.0/ja/debug-kit.html
DebugKitの主な機能
ここではDebugKitで確認できる主な機能について解説していきます。
Cache
リクエスト中のキャッシュの使用状況の確認やキャッシュのクリアを行います。
「default Metrics」「_cake_core_ Metrics」「_cake_model_ Metrics」などの使用状況や「Clear ~」のボタンをクリックすることでキャッシュをクリアすることができます。
Cache
Environment
PHP及びCakePHPに関連する環境変数を表示することができます。
環境変数とはOSが提供するデータ共有機能で、通常の変数同様に変数名と値を持ちます。
Constantに表示されている「APP」「APP_DIR」などが環境変数で、Valueが値になります。
つまりAPPは’/Applications/MAMP/htdocs/cake/src/‘のパスを持つ環境変数となります。
通常はあまり環境変数については気にすることはありませんが、フレームワークの設定を細かくカスタマイズする場合は、環境変数の設定を変更することもありえます。
そのため、Environmentから環境変数が確認できることは覚えておきましょう。
Environment
History
History(履歴)パネルは以前リクエストした情報の一覧を表示することができます。
一覧に表示されているアクセス履歴をクリックすると、エラーやリダイレクトなどの以前のリクエスト情報が、ツールバーにそのアクセス時に復元されて表示されます。
History
Include
タイプごとにグループ化されたインクルードファイルを表示します。
それぞれのグループを選択することで、そのグループに属しているファイルを確認することができます。
Include
Packages
現在のバージョンのパッケージの依存関係の一覧を表示します。
それぞれのパッケージのバージョンが確認できますので、常に最新バージョンが適用されているか、チェックすることができます。
Packages
リクエスト中の全てのメール送信を表示します。
Mail
Request
GET/POSTメソッドによる現在のリクエストやCakeのパラメータ、現在のルート情報、クッキー情報など、リクエストのさまざまな情報を表示します。
とくにHttpリクエストによるデータの形などをチェックしたい場合は、このパネルから確認することができます。
Request
Sql Log
各データベースのコネクションのSQLログを表示します。
SQLのクエリーなどの実行にかかった時間を確認したり、クエリーの履歴を確認することができます。
この機能はとくにSQLのチューニング時にパフォーマンスを確認するときに便利です。
Sql Log
Timer
リクエスト中に設定されたタイマーと、メモリーの使用状況を表示することができます。
さまざまなイベントごとに処理時間を計測することができますので、パフォーマンスを確認するときに便利です。
Timer
DebugKitを非表示にする方法
さまざまなデバッグが可能なDebugKitですが、本番での運用時には非表示にしたい場合もあります。
DebugKitを非表示にするには「Cake/config/bootstrap.php」の以下の箇所を修正しておく必要があります。
/* * Only try to load DebugKit in development mode * Debug Kit should not be installed on a production system */ if (Configure::read('debug')) { Plugin::load('DebugKit', ['bootstrap' =>false]); }
「’bootstrap’ =>」の箇所をtureからfalseに変更することでCakePHPのブラウザの画面上からDebugKitのアイコンを消すことができます。
まとめ
ここではCakePHPの開発で便利なDebugKitについて、使い方や各機能の解説、非表示にする方法などについて紹介しました。
DebugKitを活用すれば、さまざまなデバッグ機能を使用することができますので、使い方はぜひ覚えておきましょう。
もしDebugKitの使い方について忘れてしまったら、この記事を思い出してくださいね。