私は Phalcon を学習しています (マルチモジュールアプリケーション テンプレートで REST API を試しています)。たとえば、「このリクエストには特定のヘッダーが含まれていますか」 x-api-key
(ASP.NET MVC の ActionFilters のようなもの) など、各リクエストに対して簡単なチェックを行いました。
annotations
、plugins
、beforeExecuteRoute
、 でやってみましたbeforeException
。しかし、それらのいずれかに書き込むとthrow new \Exception("Some exception", 500);
、Phalcon は例外メッセージとコードなしで空白のページを返します。私の知る限り、これは既知のバグです。dispatcher
私はin でそれをやろうとしましたbeforeException
:
public function beforeException($event, $dispatcher, $exception)
{
if ($exception instanceof \Phalcon\Http\Request\Exception)
{
$dispatcher->forward(
array(
'controller' => 'error',
'action' => 'showInternalServerError'
)
);
return false;
}
//...
}
それは機能しているようですが、これはエレガントなソリューションではなく、私はこれが面倒です:)
質問: PhalconPHP で ActionFilters を実行する方法について何か良いアイデアはありますか?