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の出るコードをコントローラに書いてアクセスしてみます。

▼例外がキャッチされてバックトレースが表示されました。 Phalcon Debugコンポーネント

▼Serverタブ Phalcon Debugコンポーネント

▼Included Filesタブ Phalcon Debugコンポーネント

▼Memoryタブ Phalcon Debugコンポーネント

このようにDebugコンポーネントを使うと、エラーの発見がしやすくなります。

ただし、Debugコンポーネントは開発環境でのみ使うべきなので、本番環境では使用されないようなコードにする必要がありますね。

Date: 2014/12/13

Tags: phalcon, debug