PhalconのDebugコンポーネントを使ってみる
PhalconにはDebugコンポーネントという例外をキャッチして見やすく表示してくれるやつが標準で付属しています。
ということで、使ってみようと思います。
phalconコマンドでsimpleなプロジェクトを作成し、変更します。
--- a/public/index.php
+++ b/public/index.php
@@ -2,7 +2,16 @@
error_reporting(E_ALL);
-try {
+set_error_handler(
+ function ($errno, $errstr, $errfile, $errline) {
+ throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
+ }
+);
+
+$debug = new \Phalcon\Debug();
+$debug->listen();
+
+//try {
/**
* Read the configuration
@@ -26,6 +35,6 @@ try {
echo $application->handle()->getContent();
-} catch (\Exception $e) {
- echo $e->getMessage();
-}
+//} catch (\Exception $e) {
+// echo $e->getMessage();
+//}
これで準備ができました。
試しに、Noticeの出るコードをコントローラに書いてアクセスしてみます。
▼例外がキャッチされてバックトレースが表示されました。
▼Serverタブ
▼Included Filesタブ
▼Memoryタブ
このようにDebugコンポーネントを使うと、エラーの発見がしやすくなります。
ただし、Debugコンポーネントは開発環境でのみ使うべきなので、本番環境では使用されないようなコードにする必要がありますね。
Date: 2014/12/13