【CakePHP入門】デバッグに便利なDebugKitを使ってみよう!

こんにちは!フリーエンジニアのヤマシタです。

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の各機能を確認することができます。

top

もし誤って削除してしまった場合は、以下のコマンドをアプリケーションのルートディレクトリから実行して再インストールする必要があります。

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
Cache

Environment

PHP及びCakePHPに関連する環境変数を表示することができます。

環境変数とはOSが提供するデータ共有機能で、通常の変数同様に変数名と値を持ちます。

Constantに表示されている「APP」「APP_DIR」などが環境変数で、Valueが値になります。

つまりAPPは'/Applications/MAMP/htdocs/cake/src/‘のパスを持つ環境変数となります。

通常はあまり環境変数については気にすることはありませんが、フレームワークの設定を細かくカスタマイズする場合は、環境変数の設定を変更することもありえます。

そのため、Environmentから環境変数が確認できることは覚えておきましょう。

environment
Environment

History

History(履歴)パネルは以前リクエストした情報の一覧を表示することができます。

一覧に表示されているアクセス履歴をクリックすると、エラーやリダイレクトなどの以前のリクエスト情報が、ツールバーにそのアクセス時に復元されて表示されます。

history
History

Include

タイプごとにグループ化されたインクルードファイルを表示します。

それぞれのグループを選択することで、そのグループに属しているファイルを確認することができます。

include
Include

Packages

現在のバージョンのパッケージの依存関係の一覧を表示します。

それぞれのパッケージのバージョンが確認できますので、常に最新バージョンが適用されているか、チェックすることができます。

packags
Packages

Mail

リクエスト中の全てのメール送信を表示します。

mail
Mail

Request

GET/POSTメソッドによる現在のリクエストやCakeのパラメータ、現在のルート情報、クッキー情報など、リクエストのさまざまな情報を表示します。

とくにHttpリクエストによるデータの形などをチェックしたい場合は、このパネルから確認することができます。

request
Request

Sql Log

各データベースのコネクションのSQLログを表示します。

SQLのクエリーなどの実行にかかった時間を確認したり、クエリーの履歴を確認することができます。

この機能はとくにSQLのチューニング時にパフォーマンスを確認するときに便利です。

SqlLog
Sql Log

Timer

リクエスト中に設定されたタイマーと、メモリーの使用状況を表示することができます。

さまざまなイベントごとに処理時間を計測することができますので、パフォーマンスを確認するときに便利です。

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の使い方について忘れてしまったら、この記事を思い出してくださいね。

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説