3

zend-mvc スタイルの postDispatch プラグインを作成するための適切な方向を教えてもらえますか?

afterDispatchLoop() を使用してみましたが、現在の応答にアクセスする方法が必要です。目標は、応答 (レンダリングされたレイアウト + ビュー) に対して何らかのフィルターを実行し、フィルター処理された新しいテキストで応答をリセットすることです。

また、 afterRender() と beforeRender() を使用してみましたが、依存関係インジェクターから取得した応答が空であるため、運がありませんでした。

これを達成する方法を知っているなら助けてください!ありがとうございました!


アップデート

View イベント (afterRender) を使用して動作させました。このイベントは Phalcon MVC ビューのインスタンスを渡します。その後、ビュー全体の本体を変更できますが、$view->getContent() + 操作を呼び出し、続いて $view->setContent() を呼び出します。

私は Zend のような HTTP 応答オブジェクトの操作に慣れています。Phalcon でこの種の応答操作を実現するためのより良い方法はありますか?

4

1 に答える 1

1

if you get empty results from services in dependency injector, you can enable php singleton design pattern for services with just adding "true" flag like this:

$di->set('view', function() use($config) {
    $view = new \Phalcon\Mvc\View();
    $view->setViewsDir($config->application->viewsDir);
    $view->registerEngines(array(
        ".volt" => 'volt',
    ));
    return $view;
}, true);

$di->set('service', function(){}, SINGLETON_TRUE_OR_FALSE)

more info here: http://docs.phalconphp.com/en/latest/reference/di.html#shared-services

于 2014-02-07T12:44:05.457 に答える