読者です 読者をやめる 読者になる 読者になる

忍び歩く男 - SLYWALKER

大阪のこっそりPHPer

CakePHP DebugKitでHello World

CakePHP

Bakerなら言わずと知れたDebugKitですが、これ簡単にパネルを追加できるんですね。
アプリケーションやプラグインの値の確認なんかに、こちょこちょっと追加しちゃいましょう。
では、定番の「Hello World」をやってみましょう。

APP/vendors/hello_world_panel.php

まず処理の部分ですが、DebugPanelというクラスを継承して行います。
まぁこんな感じです。

DebugPanel::$plugin
DebugPanel::$title
DebugPanel::startup
DebugPanel::beforeRender
上記のプロパティ・メソッドが用意されているのでご自由にお使い下さい。

APP/views/elements/hello_world_panel.ctp

続いて表示部分です。

DebugPanel::beforeRender内で$controller->setでセットした値と、DebugPanel::beforeRenderの返り値を表示してます。DebugPanel::beforeRenderの返り値は$contentという変数に入りますよ。

DebugKitのパネルを確認

ん?まだ表示されない?
あわてないで、ちゃんとDebugKit.Toolbarのオプションで追加したパネルを指定しないとだめですよ。


ほらこんな感じに表示できたかな?

プラグイン内で使ってみる。

同じようにプラグイン内にも設置できますよ。
ここではプラグイン名を[DebugKitPlus]としときますね。
plugins/debug_kit_plus/vendors/hello_world_panel.php

変更点は、
var $plugin = 'DebugKitPlus';
ここんとこくらいですね。


plugins/debug_kit_plus/views/elements/debug_kit_plus.hello_world_panel.ctp
ファイル名に気をつけてくださいね。プラグイン名が頭につきます。
まぁまちがっても「ねーよ!」って怒られるのでわかります。
中身は一緒なので割愛。


呼び出し方法

プラグイン名を前につけるだけ。


ね、簡単でしょ。